我想运行一个 mysql 来查找上午 9 点到 10 点之间的所有结果。
我希望它找到所有结果,无论它是哪一天。我可以找到某一天的结果,但不是所有结果
将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
SELECT ...
FROM ...
WHERE TIME(datetime column) BETWEEN '09:00' AND '10:00';
您可以使用 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
你需要使用过滤器where hour(yourtimestampcolumn) between 9 and 10
或between 9 and 22
晚上 10 点
如果日期是这样存储的,这也将对您有所帮助:-'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'