列utc time created是在每小时更新一次的表中输入条目的datetime字段。每天包含24个条目。
我想在一组日子中查询同一时间(可能需要10/1-10/10的所有下午4点记录),但不希望在该日期范围内的其他时间记录。我不想所有下午4点的记录都在桌子上(整个月都在桌子上)。
如何为SQLite和MySQL做到这一点?
发布于 2022-10-12 20:55:14
只需按日期和时间过滤:
SELECT
*
FROM
TableName
WHERE
CAST(UTCTimeCreated AS DATE) BETWEEN '2022-10-01' AND '2022-10-10'
AND HOUR(UTCTimeCreated) = 16 -- or whatever发布于 2022-10-12 21:03:56
类似于John .的(SQL):
SELECT
*
FROM
TableName
WHERE
UTCTimeCreated BETWEEN '2022-10-01' AND '2022-10-10' AND DATEPART(Hour,UTCTimeCreated ) = 16发布于 2022-10-12 21:57:06
要在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之间的行为有所不同。所以,就在你结束约会的第二天做<吧。
https://stackoverflow.com/questions/74047897
复制相似问题