我试图计算所有书籍的价格。我需要确保if字段为空(它为NULL),然后Book的值为10.我试过这个:
SUM(CASE WHEN Value = NULL THEN 10 ELSE Value END) as main_value
但这没有做任何事情。它计算总和很好,但是当它找到空字段(null)时,它在计算中不使用值10。 我做错了什么?
答案 0 :(得分:3)
如果您只想将NULL视为10,那么COALESCE就可以解决这个问题:
COALESCE
函数返回其第一个非null的参数。仅当所有参数都为空时才返回Null。
所以你可以:
sum(coalesce(Value, 10))
答案 1 :(得分:1)
要与null
进行比较,您需要使用is null
:
SUM(CASE WHEN Value is NULL THEN 10 ELSE Value END) as main_value