在表格中,有几列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
答案 0 :(得分:0)
具有NULL值的列未在where子句中列出。这似乎是唯一的解释。
尝试Select selected_column from table where selected_column is not NULL