为什么返回“2015-01-19”?:
SELECT date
FROM hours
HAVING date BETWEEN DATE_SUB(max(date), INTERVAL 2 DAY) AND DATE_ADD(max(date), INTERVAL 1 DAY)
何时返回“2015-01-20”和“2015-01-19”?:
SELECT date
FROM hours
HAVING date BETWEEN '2015-01-18' AND '2015-01-21'
最大日期为“2015-01-20”,“2015-01-20”和“2015-01-19”都有记录。 date 是日期字段。
最佳答案
我想您会发现 date_sub
返回完整的时间戳,例如'2008-11-11 13:23:44.657' 参见 http://www.w3schools.com/sql/func_date_sub.asp更多细节。
您需要使用extract
方法或date_format
(DATE_FORMAT(date_time_var, '%Y-%m-%d')
) 获取 Between 语句中使用的日、月和年。
关于MySQL 使用日期函数和最小最大之间选择日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28021352/