MySQL 如何在结果为空时返回NULL?
MySQL是一种常用的关系型数据库管理系统,它提供了许多功能和方法来查询和操作数据。在编写MySQL查询时,我们经常会碰到一个问题:当查询结果为空时,返回什么?
考虑下面这个表:
它包含了员工信息,我们想查询某个部门的所有员工名字:
但是如果这个部门没有员工,查询结果将为空。这时我们想返回一个NULL值,怎样才能实现呢?
阅读更多:MySQL 教程
IFNULL()函数
MySQL提供了IFNULL()函数,它可以在结果为空时返回指定的值,例如:
如果Marketing部门没有员工,结果将显示”NULL”。
但是我们这里要返回NULL值本身,该怎么办?
NULLIF()函数
MySQL还提供了NULLIF()函数,它可以在两个值相等时返回NULL。我们可以结合IFNULL()和NULLIF()函数,构建一个查询:
如果Engineering部门没有员工,结果将返回NULL。
总结
在MySQL查询中,当结果为空时我们可以使用IFNULL()和NULLIF()函数来返回指定的值或NULL。他们的语法如下:
其中,expr1和expr2是任意表达式,如果expr1为空,则IFNULL()函数返回expr2,NULLIF()函数返回NULL。