使用mysql查询选择整数列中带空值的行

She*_*rin 3 mysql

我有一个名为'datatablecoulmn'的表,其中包含以下列. 在此输入图像描述

现在我想要列FkID为NULL的所有行.FkID是一个整数字段

我尝试了以下查询

             SELECT * FROM `datatablecoulmn` WHERE `FkID`=NULL
             SELECT * FROM `datatablecoulmn` WHERE `FkID`<1
             SELECT * FROM `datatablecoulmn` WHERE `FkID`='null'
Run Code Online (Sandbox Code Playgroud)

所有这些都返回空行.任何帮助?

Dee*_*epu 7

在MySQL中,NULL被认为是"缺失的未知值",而不是没有值.任何与NULL的算术比较都不会返回true或false,而是返回NULL.所以,NULL!='C'返回NULL,而不是返回true.

IS NULL在查询中使用条件并尝试这样

SELECT * FROM `datatablecoulmn` WHERE `FkID` IS NULL
Run Code Online (Sandbox Code Playgroud)

为了处理NULL值,MySQL提供了三个运算符

IS NULL:如果列值为NULL,则运算符返回true.

IS NOT NULL:如果列值不为NULL,则operator返回true.

<=>:运算符比较值,即(对于=运算符),即使对于两个NULL值也是如此.

您可以参考这些链接了解更多信息

链接1,链接2,链接3