首页 > 解决方案 > MySQL SELECT rows WHERE 时间在指定的时间窗口内

问题描述

我有一个 MYSQL 数据库,其event_time时间戳的列格式为:2012-07-18 12:54:45。

我需要选择落入指定时间窗口的任何行,例如 0700 到 1159。如何执行 SELECT 以获取任何日期的这些行?

这是我尝试过的:

SELECT count(id) FROM dataset WHERE event_time >= "07:00" AND <= "11:59"

标签: mysqlsql

解决方案


以下是如何从时间戳中提取时间:

SELECT count(id) 
FROM dataset 
WHERE TIME(event_time) BETWEEN "07:00" AND "11:59"

或者

SELECT count(id) 
FROM dataset 
WHERE cast(event_time as time) BETWEEN "07:00" AND "11:59"

他们两个对我来说都很好!希望我的回答对您的问题有所帮助。


推荐阅读