2012-01-25 42 views
3

我需要从表中选择行,例如,无论日期如何,时间> = 18:00:00。问题是该值是日期时间类型,所以还有日期旁边。例如2012-01-25 18:00:00。如何通过MySQL中的DateTime字段的小时部分来过滤查询?

table1 
====== 
row 1: id='1' datetime='2012-01-25 18:00:00' 
row 2: id='2' datetime='2012-01-27 15:00:00' 
row 3: id='3' datetime='2012-01-30 19:45:00' 

,我需要选择行1和第3行

有没有方法来组合使用LIKE和> =做时间> =“%18:00:00”,其中%代表什么日期?

回答

4

可以使用TIME()功能:

WHERE TIME(`datetime`) >= '18:00:00' 
+0

工作般的魅力,感谢名单! – woopata

1

事情是这样的,也许:

SELECT * 
FROM yourTable 
WHERE 
    EXTRACT(HOUR FROM YourDate)>18 
2
select * 
from table1 
where HOUR(datimetime) >= 18 
相关问题