我有一系列日期,例如2015-05-31 17:36:36.000000自2015-12-20 22:20:00.000000.
好吧,我想要获取这段时间内每天 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-05-31 17:36:36.000000 和 2015-12-20 22:20:00.000000 之间的所有行,其中包括一些行,如 2015-12-20 02:20:00.000000,这不是正确的结果。
谢谢。
您可以在几个小时内通过以下方式选择...
SELECT * FROM orktape WHERE HOUR(mytimestamp) >= 17 AND HOUR(mytimestamp) < 19
不确定您的时间戳列叫什么,我不会称它为时间戳,这可能会令人困惑。