列utc time created是一个datetime字段,表示在每小时更新的表中创建条目的时间。每天包含24个条目。我想查询一组日期的相同时间(可能想要10/1-10/10的所有下午4点记录),但不想要该日期范围内其他时间的记录。我不想要表中的所有4点记录(整个月都在表中)。如何在SQLite和MySQL上做到这一点?
utc time created
datetime
fhg3lkii1#
只需先按日期过滤,然后按小时过滤:
SELECT * FROM TableName WHERE CAST(UTCTimeCreated AS DATE) BETWEEN '2022-10-01' AND '2022-10-10' AND HOUR(UTCTimeCreated) = 16 -- or whatever
btqmn9zl2#
类似于John K.Have(SQL):
SELECT * FROM TableName WHERE UTCTimeCreated BETWEEN '2022-10-01' AND '2022-10-10' AND DATEPART(Hour,UTCTimeCreated ) = 16
mm9b1k5b3#
要在SQLite和MySQL之间移植,可以使用substr。
select * from foo where utc_created_time >= '2022-10-01' and utc_created_time < '2022-10-14' and substr(utc_created_time,12,8)='16:00:00'
如果您可能在寻找午夜时间,请避免使用between;datetime between date and date在MySQL和SQLite中的行为不同。所以,只要在你结束约会的第二天做<即可。
between
datetime between date and date
<
3条答案
按热度按时间fhg3lkii1#
只需先按日期过滤,然后按小时过滤:
btqmn9zl2#
类似于John K.Have(SQL):
mm9b1k5b3#
要在SQLite和MySQL之间移植,可以使用substr。
如果您可能在寻找午夜时间,请避免使用
between
;datetime between date and date
在MySQL和SQLite中的行为不同。所以,只要在你结束约会的第二天做<
即可。