nullif和ifnull的区别
时间: 2023-12-01 12:42:13 浏览: 63
mysql中null(IFNULL,COALESCE和NULLIF)相关知识点总结
nullif和ifnull都是MySQL中用于处理NULL值的函数,但它们的用法和作用略有不同。
ifnull(expr1, expr2)函数的作用是,如果expr1不为NULL,则返回expr1,否则返回expr2。例如:
```mysql
SELECT IFNULL(NULL, 'some value'); -- 结果为 'some value'
SELECT IFNULL('not null', 'some value'); -- 结果为 'not null'
```
nullif(expr1, expr2)函数的作用是,如果expr1和expr2相等,则返回NULL,否则返回expr1。例如:
```mysql
SELECT NULLIF(1, 1); -- 结果为 NULL
SELECT NULLIF(1, 2); -- 结果为 1
```
因此,ifnull和nullif的主要区别在于它们的返回值。ifnull返回的是非NULL值,而nullif返回的是NULL或非NULL值。
阅读全文