【问题标题】:IFNull in MySQLMySQL 中的 IFNull
【发布时间】:2011-01-27 22:45:15
【问题描述】:
我是 SQL 新手,我正在尝试使用一组列创建计算字段。但是,其中一些值可能为 NULL。如果它们为 NULL,我不希望计算字段返回 NULL 结果,而是设置一些任意值。
这里是计算字段
(ces.EXPERT_SCORE * cirm.CONSUMER_RATING) + (12.5 * scs.SIMILARITY)
【问题讨论】:
标签:
sql
mysql
null
ifnull
【解决方案1】:
使用IFNULL(tocheckwhat,withwhattoreplace) 所以:
(IFNULL(ces.EXPERT_SCORE,5) * IFNULL(cirm.CONSUMER_RATING,5)) + (12.5 * IFNULL(scs.SIMILARITY,5))
应该可以! :)
【解决方案2】:
你可以使用 COALESCE 操作符
(
COALESCE(ces.EXPERT_SCORE, <YOUR_ARBIT_VALUE>) *
COALESCE(cirm.CONSUMER_RATING, <YOUR_ARBIT_VALUE>)
)
+ (12.5 * COALESCE(scs.SIMILARITY, <YOUR_ARBIT_VALUE>))