MySQL如何在表中查找空数据

MySQL如何在表中查找空数据,mysql,sql,null,Mysql,Sql,Null,场景:我有一个包含重复数据的表。此表的其中一列是ddate,如果它为空/null,我希望选择该行并将其删除。但由于某些原因,我无法通过直接查询找到空行 问题:当我运行以下查询1时: select `ddate`, count(1) as `nb` from instrument_nt group by `ddate`; 我得到了ddate为NULL且有其他值的行数。但当我运行查询2时: select count(*) from instrument_nt where `dda

场景:我有一个包含重复数据的表。此表的其中一列是ddate,如果它为空/null,我希望选择该行并将其删除。但由于某些原因,我无法通过直接查询找到空行

问题:当我运行以下查询1时:

select
    `ddate`, 
    count(1) as `nb`
from instrument_nt
group by `ddate`;
我得到了ddate为NULL且有其他值的行数。但当我运行查询2时:

select count(*) from instrument_nt where `ddate` =  Null;

我的查询结果为0或空

问题:这两个问题1和2之间的区别是什么?如何正确删除日期为空/缺失的数据

空表示未知,这是一个值

如果您想得到空行,您需要使用IS NULL而不是eqaul NULL

这两个查询1和查询2之间的区别是什么?如何正确删除日期为空/缺失的数据

一,

您将从instrument\n nt表中获得ddate为NULL的金额

二,

您将得到一个ddate为NULL的结果集

空表示未知,这是一个值

如果您想得到空行,您需要使用IS NULL而不是eqaul NULL

这两个查询1和查询2之间的区别是什么?如何正确删除日期为空/缺失的数据

一,

您将从instrument\n nt表中获得ddate为NULL的金额

二,

您将得到一个ddate为NULL的结果集

MySQL空检查使用IS运算符而不是=

您的查询应该如下所示:选择*from instrument\n其中数据为NULL

MySQL空检查使用IS运算符而不是=

您的查询应该如下所示:选择*from instrument\n其中数据为NULL

每个空值定义为不同于其他空值。因此,等于null总是错误的。例如,请参见,其中描述了所谓的三值问题

对于第三类值,您要使用IS,如在IS NULL或IS NOT NULL中。

每个NULL都定义为不同于其他NULL。因此,等于null总是错误的。例如,请参见,其中描述了所谓的三值问题

对于第三类值,您要使用IS,如IS NULL或IS NOT NULL。

使用关键字IS NULL检查表中的NULL值

例如:

select * from instrument_nt where `ddate` IS NULL;
使用关键字IS NULL检查表中的空值

例如:

select * from instrument_nt where `ddate` IS NULL;

您应该从'ddate'为空的仪表中选择*;NULL不匹配任何内容,即使NULL=NULL也不匹配。ddate=NULL永远不为真。与NULL的任何比较结果都始终为NULL。您必须使用IS运算符。可能的重复项应在'ddate'为空的仪表中选择*;NULL不匹配任何内容,即使NULL=NULL也不匹配。ddate=NULL永远不为真。与NULL的任何比较结果都始终为NULL。您必须使用IS操作员。现场可能存在重复,我不知道。一旦我能接受,我就会接受。当场,我不知道。一旦可以,我会接受的。
select count(*) from instrument_nt where `ddate` IS  Null;
select * from instrument_nt where `ddate` IS NULL;
select * from instrument_nt where `ddate` IS NULL;