SELECT * FROM table WHERE datefield IS NULL
返回20条记录
SELECT * FROM table WHERE datefield IS NOT NULL
返回相同的20条记录和另外20条输入日期的记录
IS NULL
和IS NOT NULL
不相互排斥?
字段定义是:
datefield date NOT NULL
答案 0 :(得分:0)
没有显式默认值的NOT NULL
列将使用隐式默认值(对于类型)。对于date
列,默认值为0
。
来自MySQL docs:
如果列不能将NULL作为值,则MySQL定义该列 使用显式DEFAULT子句,使用隐式默认值 列数据类型。隐式默认值定义如下:
- 对于TIMESTAMP以外的日期和时间类型,默认值为该类型的相应“零”值。对于第一个TIMESTAMP列 在表中,默认值是当前日期和时间。看到 第11.3节“日期和时间类型”。