MySQL null日期不会被查询过滤掉

时间:2014-04-13 15:09:24

标签: mysql date null

在表格中,有几列date列。其中一些包含null,其他包含有效日期。

此查询返回17条记录(并且它是正确的):

SELECT * FROM table

此查询返回6条记录(并且它是正确的):

SELECT * FROM table WHERE selected_column IS NULL

此查询返回17条记录(显然错误):

SELECT * FROM table WHERE selected_column IS NOT NULL

有任何解释吗?

修改 的 create table statment:

CREATE TABLE `contracts` (  
`id` bigint(20) NOT NULL AUTO_INCREMENT,  
`start_date` date NOT NULL,  
`end_date` date NOT NULL,  
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=12323 DEFAULT CHARSET=utf8

1 个答案:

答案 0 :(得分:0)

具有NULL值的列未在where子句中列出。这似乎是唯一的解释。

尝试Select selected_column from table where selected_column is not NULL