mysql coalesce函数与 ifnull 函数对比

IFNULL() 函数

IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。

IFNULL() 函数语法格式为:

IFNULL(expression, alt_value)

如果第一个参数的表达式 expression 为 NULL,则返回第二个参数的备用值。

  参数说明:
参数
描述
expression
必须,要测试的值
alt_value
 

必须,expression 表达式为 NULL 时返回的值

 

COALESCE() 函数

COALESCE(value,…)是一个可变参函数,可以使用多个参数。

作用:接受多个参数,返回从左至右、第一个不为NULL的参数,如果所有参数都为NULL,那么返回NULL;当它使用2个参数时,和IFNULL函数作用相同。

举个栗子:

SELECT IFNULL(NULL,'test'); //test
SELECT IFNULL('Hello','test'); //Hello
SELECT IFNULL(NULL,NULL); //NULL
 
SELECT COALESCE('Hello','test'); //Hello
SELECT COALESCE(NULL,'test'); //test
SELECT COALESCE('Hello','test','test1','test2'); //Hello
SELECT COALESCE(NULL,NULL,NULL,'test2'); //test2
SELECT COALESCE(NULL,NULL,NULL,NULL); //NULL

 下面这个博主说的我没有去测试,应该是表中一条数据都没有的情况下可能会出现这种情况。

 

posted @ 2022-04-03 22:18  哩个啷个波  阅读(286)  评论(0编辑  收藏  举报