【发布时间】:2014-08-11 15:51:05
【问题描述】:
我在 DB2 中有一个 varchar 字段 AMOUNT。
可能的表状态值:
ID AMOUNT
-------------------------
1 123.4578
2 NULL
2 123.78
1 -8562.85441
2
1 0.0
-------------------------
AMOUNT 列可以为空,如上面倒数第二行所示。
我想在查询中通过ID 对AMOUNT 组执行SUM。
结果 SUM 应该是 DECIMAL(16,2)。
考虑到值可以为空和空,并且小数点后的位数不遵循任何固定格式,正确的方法是什么?
它与this question 重复,但给出的答案不完整且不被接受。
感谢阅读!
【问题讨论】:
-
基本上是
if(amount is null OR amount = '') then 0 else amount,在伪代码中。不过,这一栏应该用数字来完成。数字列不允许“空”值,这是一个字符串。一个数字要么是空的,要么是一个数字。