【发布时间】:2022-02-25 11:51:44
【问题描述】:
SELECT IFNULL(NULL, 'Replaces the NULL')
--> Replaces the NULL
SELECT COALESCE(NULL, NULL, 'Replaces the NULL')
--> Replaces the NULL
在这两个子句中,主要区别在于参数传递。 IFNULL 是两个参数,COALESCE 是多个参数。那么除此之外,这两者之间还有其他区别吗?
它在 MS SQL 中有何不同?
【问题讨论】:
-
IFNULL检查单个参数。COALESCE使用 N 个参数。COALESCE在您有未知数量的要检查的值时很有用。IFNULL在您选择列并且知道它可以为空但您想用不同的值表示它时很有用。因此,这两个功能非常不同。至于 MSSQL 的区别——google 可以帮助你,你可以通过自己的研究快速获得这些信息。 -
@N.B.,引用 "
IFNULL检查单个参数。COALESCE与N参数一起使用。",对于N = 2的情况,两者作品。那你会用哪个?
标签: mysql sql sql-server