我的数据库记录部分显示如下,我想使用sql在每天的一段时间内获取记录。
比如我想在下面的记录中得到01:00 - 03:00
,我希望得到2004/8/7 01:54
,2004/8/11 02:41
,我该怎么办?感谢:)
2004/8/7 01:54
2004/8/7 16:44
2004/8/7 22:26
2004/8/9 16:26
2004/8/9 16:26
2004/8/9 18:36
2004/8/9 18:36
2004/8/9 18:36
2004/8/9 18:36
2004/8/10 23:22
2004/8/10 23:23
2004/8/11 02:41
2004/8/12 21:05
答案 0 :(得分:3)
HOUR()
功能为您提供一天中的小时。其余的很简单:
select * from mytable
where (hour(datetime_column) between 1 and 2
or (hour(datetime_column) = 3
and minute(datetime_column) = 0
and second(datetime_column) = 0))
请注意,hour(datetime_column) between 1 and 2
将... 01:00:00
与... 02:59:59
匹配,其余与剩余的第二个匹配 - 正好为03:00:00
。
答案 1 :(得分:1)
您可以使用MySQL HOUR()
:
MySQL HOUR()
返回小时。对于时间值,返回值在0到23的范围内。时间范围值可能大于23。
SELECT *
FROM your_table
WHERE HOUR(your_date_field) > 1 AND HOUR(your_date_field) < 3