MySQL查询日期字段选择特定小时之间的所有条目

时间:2014-08-19 18:13:01

标签: mysql sql

我在MySQL数据库中有一个包含多个记录的表,其中一个字段是datetime类型。我需要提取一组数据,其中包含时间在00:00到03:00之间的所有记录,而不管它们之前的日期。显然BETWEEN子句不起作用,因为它需要一个有效的日期。我无法弄清楚如何使用正则表达式,所以我几乎坚持这个查询。有什么提示吗?

2 个答案:

答案 0 :(得分:4)

查看HOUR

SELECT fields
FROM myTable
WHERE HOUR(my_date) >= 0 AND HOUR(my_date) <= 3 

答案 1 :(得分:2)

您可以使用hour功能提取日期的小时部分:

SELECT *
FROM   my_table
WHERE  HOUR(my_date_field) BETWEEN 0 AND 3