这篇文章主要给大家介绍了关于mysql中替代null的IFNULL()与COALESCE()函数的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看看吧。
在MySQL中isnull()函数不能作为替代null值!
如下:
首先有个名字为business的表:

SELECT ISNULL(business_name,'no business_name') AS bus_isnull FROM business WHERE id=2
直接运行就会报错:
错误代码: 1582
Incorrect parameter count in the call to native function 'isnull'
所以,isnull()函数在mysql中就行不通了。可以用ifnull()和coalesce()代替。如下:
使用ifnull()函数:
SELECT IFNULL(business_name,'no business_name') AS bus_ifnull FROM business WHERE id=2
运行结果:

当查询的值不为null时:
SELECT IFNULL(business_name,'no business_name') AS bus_ifnull FROM business WHERE id=1
结果如下:

使用coalesce()函数:
SELECT COALESCE(business_name,'no business_name') AS bus_coalesce FROM business WHERE id=2
结果如下:

当查询值不为null时:
SELECT COALESCE(business_name,'no business_name') AS bus_coalesce FROM business WHERE id=1

其中:coalesce()还可以返回第一个不为null的值。如下:
SELECT COALESCE(business_name,district_id,id) AS bus_coalesce FROM business WHERE id=2

那么,isnull()在mysql中怎么用呢?答案就是用在where后面。如下:
SELECT * FROM business WHERE ISNULL(business_name)
结果如下:

同样,is null和is not null也是用在where后面。
SELECT * FROM business WHERE business_name IS NULL
结果如下:

SELECT * FROM business WHERE business_name IS NOT NULL

总结
Das obige ist der detaillierte Inhalt vonmysql中替代null的IFNULL()与COALESCE()函数详解_Mysql. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
MySQL ändert den Namen der Datentabelle
MySQL erstellt eine gespeicherte Prozedur
Der Unterschied zwischen Mongodb und MySQL
So überprüfen Sie, ob das MySQL-Passwort vergessen wurde
MySQL-Datenbank erstellen
MySQL-Standard-Transaktionsisolationsstufe
Der Unterschied zwischen SQL Server und MySQL
mysqlPasswort vergessen