在SQL中选择给定时间之前的所有行

时间:2018-12-07 19:48:57

标签: mysql datetime select mysql-workbench

我有一个相当简单的SQL表(使用MYSQL Workbench 8.0),该表的行包含日期和值,如下所示:

        date         |   value
 --------------------|----------
 2018-09-06 18:00:00 |    73

日期列中的值范围从%18:00:00到%17:30:00。 我要做的就是从查询中返回结果,在该查询中我排除了日期列中的时间早于17:00:00的所有行。 我当前使用的查询无济于事:

SELECT * FROM table_name where td_time <> '%17%'

作为参考,“日期”列中的值的格式设置为日期时间类型。

我相信我遗漏了一些相当简单的东西,但这是我使用SQL的第二天,我无法弄清楚是否遗漏了语法上的细微差别。

1 个答案:

答案 0 :(得分:0)

MySQL中有很多函数可以处理时间和日期值,您可以这样:

select * from table where hour(date) < 17 and hour(date) > 17

select * from table where time(date) < '17:00:00' and time(date) > '18:00:00'