在MySQL中,IFNULL()
和NULLIF()
都是用于处理NULL值的函数,但它们的功能略有不同。
- IFNULL():此函数接受两个参数,如果第一个参数不为NULL,则返回该参数;否则返回第二个参数。语法如下:
IFNULL(expr1, expr2)
其中,expr1
为要检查是否为NULL的表达式,expr2
为当expr1
为NULL时要返回的值。
示例:
SELECT IFNULL(NULL, 'some value'); -- 结果为 'some value'
SELECT IFNULL('not null', 'some value'); -- 结果为 'not null'
- NULLIF():此函数接受两个参数,如果两个参数相等,则返回NULL;否则返回第一个参数。语法如下:
NULLIF(expr1, expr2)
其中,expr1
和expr2
都是要比较的表达式。
示例:
SELECT NULLIF(NULL, NULL); -- 结果为 NULL
SELECT NULLIF('value', 'value'); -- 结果为 NULL
SELECT NULLIF('value1', 'value2'); -- 结果为 'value1'
你可能还想知道: