MySQL ISNULL函数
时间:2019-11-20 08:52:17 来源:igfitidea点击:
简介:本教程向您介绍MySQL ISNULL函数以及如何使用它处理NULL值。
MySQL ISNULL函数简介
ISNULL函数采用一个参数,并测试该参数是否为NULL。
如果参数为NULL,则ISNULL函数返回1,否则,返回0。
下面说明了ISNULL函数的语法:
ISNULL(expr)
请考虑以下示例:
SELECT ISNULL(NULL); -- 1 SELECT ISNULL(1); -- 0 SELECT ISNULL(1 + NULL); -- 1; SELECT ISNULL(1 / 0 ); -- 1;
请注意,如果您想找到MySQL替代Microsoft SQL Server的ISNULL函数,则应改用MySQL的IFNULL函数。
由于ISNULL函数是MySQL,因此与Microsoft SQL Server的ISNULL函数不同。
MySQL ISNULL函数和IS NULL运算符
ISNULL函数与IS NULL运算符共享某些行为。
例如,如果您有一个DATE列声明为NOT NULL,则可以使用以下语句找到特殊日期'0000-00-00':
SELECT * FROM table_name WHERE ISNULL(date);
请注意,MySQL特意实现了此功能以支持ODBC应用程序,因为ODBC不支持特殊的日期值'0000-00-00'。
让我们来看一个例子。
首先,创建一个名为special_isnull的新表,如下所示:
CREATE TABLE special_isnull ( start_date DATE NOT NULL );
其次,将一些数据插入special_isnull表中:
INSERT INTO special_isnull(start_date) VALUES('2000-01-01'), ('0000-00-00');
第三,使用ISNULL函数从special_isnull表中查询数据:
SELECT * FROM special_isnull WHERE ISNULL(start_date);
该查询返回了一行,而您可能希望它将返回一个空结果集。
当您要否定IS NULL运算符时,请使用NOT运算符,即IS NOT NULL。
但是,对于ISNULL函数,请使用!ISNULL。
在本教程中,您学习了如何使用MySQL ISNULL函数及其特殊行为来处理NULL值。