2017-01-22 106 views
0

我想知道是否有更准确/正确的方法来选择使用datetime字段类型的给定日期的特定小时。选择mysql日期时间字段的特定小时

这是我目前使用的,只是不知道是否有这样的SQL语句的更好或更正确方法:

FROM表

SELECT ID WHERE DATE(SomeDateTimeStamp)= CURDATE()和小时(SomeDateTimeStamp)='11'

在这种情况下,我显然在检查上午11点。

一直在寻找一种方法来做到这一点,而不做检查DATE()和检查HOUR()但迄今没有运气找到一种方法。有没有,或者这会是最好的方式去做这件事?

我运行MySQL 16年7月5日

回答

1

要检查特定的日期和时间,你可以做

SELECT ID 
FROM table 
WHERE SomeDateTimeStamp >= '2017-01-22 11:00:00' 
    AND SomeDateTimeStamp < '2017-01-22 12:00:00' 

其中可利用索引。

+0

这比使用'DATE()'和'HOUR()'更好的方式吗?还是只是建议一种替代方法? – Abela

+0

它更快,我会怎么做。 –