我想做的事
我尝试在NULL
列之前或等于当前时间的列中返回具有0
或TIMESTAMP
值的行。
查询
SELECT *
FROM `drafts`
WHERE `leagueid`="vH8j5R0nlsBYhOUm"
AND (`pick_uid`=NULL OR `pick_uid`='0')
AND `deadline` >= "2015-9-28 13:43:00";
注意:我使用deadline
而不是NOW()
的字符串值,因为用户有不同的时区,因此我使用PHP函数gmdate
创建时间戳以确保请求是UTC。
我期待从此查询返回的内容
所有行id<=709
。
答案 0 :(得分:5)
可能由于=
与NULL
一起使用,请尝试此
SELECT *
FROM `drafts`
WHERE `leagueid`="vH8j5R0nlsBYhOUm"
AND (`pick_uid` IS NULL OR `pick_uid`='0')
AND `deadline` >= "2015-9-28 13:43";
答案 1 :(得分:2)
无法使用比较运算符测试NULL值,例如=,&lt;或&lt;&gt;。
我们将不得不使用IS NULL和IS NOT NULL运算符。