Php 为什么这个SQL查询没有返回正确的行?
我想做的事 我试图返回在Php 为什么这个SQL查询没有返回正确的行?,php,mysql,Php,Mysql,我想做的事 我试图返回在时间戳列早于或等于当前时间的列中具有NULL或0值的行 查询 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创建时间戳
时间戳
列早于或等于当前时间的列中具有NULL
或0
值的行
查询
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格式的
表格屏幕截图
我期望从该查询返回的内容
SELECT *
FROM `drafts`
WHERE `leagueid`="vH8j5R0nlsBYhOUm"
AND (`pick_uid`=NULL OR `pick_uid`='0')
AND `deadline` >= "2015-9-28 13:43:00";
所有id为
的行可能是由于将=
与NULL
一起使用,请尝试以下操作
SELECT *
FROM `drafts`
WHERE `leagueid`="vH8j5R0nlsBYhOUm"
AND (`pick_uid` IS NULL OR `pick_uid`='0')
AND `deadline` >= "2015-9-28 13:43";
可能是由于将=
与NULL
一起使用,请尝试此操作
SELECT *
FROM `drafts`
WHERE `leagueid`="vH8j5R0nlsBYhOUm"
AND (`pick_uid` IS NULL OR `pick_uid`='0')
AND `deadline` >= "2015-9-28 13:43";
不可能使用比较运算符(如=)测试空值,不可能使用比较运算符(如=)测试空值,是的,这很有效!非常感谢。为什么SQL不能识别空值的=
?@BenPearlKahan,算术运算符不允许与NULL
一起使用,有关详细信息,请参阅“是”此操作有效!非常感谢。为什么SQL不能识别空值的=
?@BenPearlKahan,空值的不允许使用算术运算符,有关详细信息,请参阅