MySQL中的IFNull

时间:2011-01-27 22:45:15

标签: sql mysql null ifnull

我是SQL的新手,我正在尝试使用一组列创建计算字段。但是,其中一些值可能为NULL。如果它们是NULL,我不希望计算字段返回NULL结果,而是设置一些任意值。

这是计算字段

(ces.EXPERT_SCORE * cirm.CONSUMER_RATING) + (12.5 * scs.SIMILARITY)

2 个答案:

答案 0 :(得分:1)

使用IFNULL(tocheckwhat,withwhattoreplace)所以:

(IFNULL(ces.EXPERT_SCORE,5) * IFNULL(cirm.CONSUMER_RATING,5)) + (12.5 * IFNULL(scs.SIMILARITY,5))

应该工作! :)

答案 1 :(得分:0)

您可以使用COALESCE运算符

(
 COALESCE(ces.EXPERT_SCORE, <YOUR_ARBIT_VALUE>) * 
 COALESCE(cirm.CONSUMER_RATING, <YOUR_ARBIT_VALUE>)
)
+ (12.5 * COALESCE(scs.SIMILARITY, <YOUR_ARBIT_VALUE>))