我有两个日期: 2017-01-10 02:00:00
AND: 2017-01-10 00:00:00
执行查询时:
SELECT id
FROM users
WHERE end_date
BETWEEN '2017-01-01'
AND '2017-01-10'
我得到了第二张唱片,但不是第一张?
为什么?
答案 0 :(得分:2)
它不起作用,因为'2017-01-10'
已扩展为2017-01-10 00:00:00
。
请改为尝试:
SELECT id
FROM users
WHERE end_date
BETWEEN '2017-01-01 00:00:00'
AND '2017-01-10 23:59:59'
答案 1 :(得分:1)
错误。它获得了第二条记录,而不是第一条记录。因为第一个日期不在你给定的范围内。
您希望仅使用date
函数比较列的日期部分。
SELECT id
FROM users
WHERE date(end_date) between '2017-01-01' and '2017-01-10'