我有这些行
id | start_time |
1 | 2018-06-15 02:00:00 |
2 | 2018-06-15 02:45:00 |
3 | 2018-06-15 03:45:00 |
我想选择 start_time 之前 1 小时的行。因此,如果时间是 2018-06-15 01:00:00
那么应该返回第一行。
我该怎么做?我在下面尝试过,但我不知道如何从 start_time
中减去 1 小时。
SELECT *
FROM table1
WHERE DATE_FORMAT(start_time, '%Y-%m-%d %H') <= DATE_FORMAT(NOW(), '%Y-%m-%d %H');
最佳答案
要减去小时数,请使用 date_sub 函数 对于你的情况
SELECT DATE_SUB(DATE_FORMAT(start_time, '%Y-%m-%d %H'), INTERVAL 1 HOUR)
关于MySQL - 选择日期时间列之前 1 小时的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50858621/