php - 为什么这个 SQL 查询没有返回正确的行?

标签 php mysql

我想做什么

我正在尝试返回具有 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。

表格截图 Table Screenshot

我期望从此查询返回什么

所有行 id<=709 .

最佳答案

可能是因为 =NULL 一起使用,试试这个

SELECT * 
FROM `drafts` 
WHERE `leagueid`="vH8j5R0nlsBYhOUm" 
    AND (`pick_uid` IS NULL OR `pick_uid`='0')
    AND `deadline` >= "2015-9-28 13:43";

关于php - 为什么这个 SQL 查询没有返回正确的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32824713/

相关文章:

php - 在学说听众中插入元素

php - 位置搜索速度慢

mysql - 在两个日期之间选择日期格式

php - 从php获取外部js文件中的变量

php - AJAX 全局数组存储

php cURL 返回全部小写

php - 使用 CodeIgniter 在表中显示数组结果时出现问题

php - SQLSTATE[23000] : Integrity constraint violation: 1052 using join with laravel

javascript - 日期范围选择器 - IsInvalidDate/IsCustomDate

MYSQL - 使用 OR 条件连接