2011-01-27 75 views
2

我是SQL新手,我嘗試使用一組列來創建計算字段。但是,其中一些值可能爲NULL。如果它們是NULL,我不希望計算字段返回NULL結果,而是設置一些任意值。MySQL中的IFNull

這裏是計算領域

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

你具備的功能,這裏的[文件](http://dev.mysql.com/doc/refman/5.0/en/control-flow- functions.html#function_ifnull) - 你需要我們什麼? – 2011-01-27 22:50:29

回答

1

使用IFNULL(tocheckwhat,withwhattoreplace)這樣:

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

應該努力! :)

0

您可以使用COALESCE操作

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