繁体   English   中英

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

[英]Selecting all rows before a given time in SQL

我有一个相当简单的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的第二天,我无法弄清楚是否遗漏了语法的细微差别。

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'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM