繁体   English   中英

如何按MySQL中DateTime字段的小时部分过滤查询?

[英]How can I filter a query by the hour portion of a DateTime field in MySQL?

我需要从表中选择行,例如时间> = 18:00:00,无论日期。 问题是值是datetime类型,所以旁边也有日期。 例如2012-01-25 18:00:00。

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'其中%代表什么日期?

您可以使用TIME()函数:

WHERE TIME(`datetime`) >= '18:00:00'
select *
from table1
where HOUR(datimetime) >= 18

这样的事情可能是:

SELECT * 
FROM yourTable
WHERE
   EXTRACT(HOUR FROM YourDate)>18

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM