2015-06-16 149 views
0

特定时间我有这样 2015年5月31日 17日期范围:36:36.000000 到 2015年12月20日 22:20:00.000000。选择从不同势日期日期时间的MySQL字段

好吧,我想要获取那段时间内每天17到19之间的行。当然包括分钟也是很重要的。

我的意思是,在每一天,如果一行的时间在17到20之间,我需要那个。

我应该使用什么查询?

我用

SELECT * 
FROM (`orktape`) 
WHERE STR_TO_DATE(timestamp, '%Y-%m-%d %H:%i:%s') >= '2015-05-31 17:36:36.000000' 
AND STR_TO_DATE(timestamp, '%Y-%m-%d %H:%i:%s') < '2015-12-20 22:20:00.000000' 
ORDER BY `timestamp` desc 

但它导致所有这些都行2015年5月31日之间17:其中包括像2015 - 某些行00.000000:和二○一五年十二月二十○日36.000000 22::36 20 12-20 02:20:00.000000这不是正确的结果。

谢谢。

回答

1

您可以通过...

SELECT * FROM orktape WHERE HOUR(mytimestamp) >= 17 AND HOUR(mytimestamp) < 19 

不知道你的时间戳列称为一个范围内的小时选择,我不会把它戳,这可能会造成混乱。

+0

那么日期和分钟呢?可以通过添加DATE(timestamp)> LOBLOBLOB来确定日期。但分钟呢? – hgh

+0

上面的HOUR代码将包含17:00:00.000000和18:59:59:999999之间的所有内容,它只是检查小时而不是分钟。 – zefram

+0

感谢您的回答,但我也需要几分钟。我必须做什么? – hgh

相关问题