【发布时间】:2020-04-09 13:12:59
【问题描述】:
我尝试在MySQL 中比较DateTime。
该表用于检查锁定的用户。例如,用户将在日期时间2020-04-09 14:51:32 锁定1 Day:
SELECT
*,
DATE_ADD(`time_created`, INTERVAL `locked_time` DAY) AS `until`
FROM
`' . DATABASE_PREFIX . 'users_locked`
WHERE
`user_id`=:user_id
LIMIT 1
until 是日期时间time_created 加上来自locked_time 的天数。
以下是参赛结果:
object(stdClass)[53]
public 'id' => string '1'
public 'user_id' => string '2'
public 'locked_by' => string '1'
public 'time_created' => string '2020-04-09 14:51:32'
public 'locked_time' => string '1'
public 'reason' => string 'This is a test'
public 'until' => string '2020-04-10 14:51:32'
计算(time_created 加上locked_time 和结果2020-04-10 14:51:32)是正确的。但是当我尝试将此值与当前时间戳(如NOW())进行比较时,没有可用的结果 - 无论我使用>= 还是<=:
[...]
WHERE
`user_id`=:user_id
AND
`until`<=NOW()
LIMIT 1
[...]
WHERE
`user_id`=:user_id
AND
`until`>=NOW()
LIMIT 1
如何检查“NOW()”中的日期是否为“直到”?
【问题讨论】:
标签: mysql sql date datetime where-clause