我想运行一个mysql来查找上午9点到10点之间的所有结果。
我希望它能找到所有结果,无论它是什么日子。我可以找到某一天的结果,但不是所有结果
答案 0 :(得分:2)
将DateTime
对象作为列,只需使用内置函数来提取小时:
SELECT *
FROM table t
WHERE HOUR(t.DateTimeColumn) >= 9 AND HOUR(t.DateTimeColumn) <= 22
或
SELECT *
FROM table t
WHERE HOUR(t.DateTimeColumn) BETWEEN 9 AND 22
请参阅:
http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_hour
答案 1 :(得分:1)
您可以使用hour()函数完成此操作。
这将是这样的:
select *
from table
where hour(timestamp_col) >= 9
and hour(timestamp_col) <= 10;
http://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html#function_hour
答案 2 :(得分:1)
您需要使用过滤器where hour(yourtimestampcolumn) between 9 and 10
或between 9 and 22
晚上10点
答案 3 :(得分:1)
SELECT ...
FROM ...
WHERE TIME(datetime column) BETWEEN '09:00' AND '10:00';
答案 4 :(得分:-1)
如果日期存储如下,这也会有所帮助: - '2013-09-18 11:47:12'
SELECT * FROM `users` WHERE substr(created,12,8) > '09:00:00' and substr(created,12,8) < '10:00:00'