查询

时间:2017-01-17 16:55:00

标签: mysql sql

我有两个日期: 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'

我得到了第二张唱片,但不是第一张?

为什么?

2 个答案:

答案 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'