你能解释一下sql-functions" NULLIF"之间的区别是什么?和#34; IFNULL"?
答案 0 :(得分:3)
IFNULL(value-to-test, action-if-tested-as-null )
#equivalent case expression:
CASE WHEN value-to-test IS NULL THEN action-if-tested-as-null ELSE value-to-test END
如果第一个参数恰好为NULL,则 IFNULL
指示查询输出第二个参数,否则输出第一个参数。 IFNULL
是仅MySQL的函数名称,SQL标准备选方案是COALESCE
NULLIF(value-to-compare-a, value-to-compare-b )
#equivalent case expression:
CASE WHEN value-to-compare-a = value-to-compare-b THEN null ELSE value-to-compare-a END
NULLIF
比较2个值。如果BOTH值是SAME,则返回NULL,否则返回第一个参数。
我个人总是喜欢使用COALESCE
代替IFNULL。