You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写查询语句筛选指定起止时间范围内的timestamp类型数据

时间范围筛选查询语句实现方案

假设你的时间字段名为event_time,以下是不同主流数据库的实现写法:

MySQL

如果字段为时间类型(DATETIME/TIMESTAMP):

SELECT * 
FROM 你的表名
WHERE event_time >= '2021-09-20 10:00:00+00'
  AND event_time <= '2021-09-21 18:00:00+00';

如果字段为字符串存储的时间格式,先转时间类型再比较:

SELECT * 
FROM 你的表名
WHERE STR_TO_DATE(event_time, '%Y-%m-%d %H:%i:%s.%f+00') >= '2021-09-20 10:00:00'
  AND STR_TO_DATE(event_time, '%Y-%m-%d %H:%i:%s.%f+00') <= '2021-09-21 18:00:00';

PostgreSQL

字段为带时区的时间类型(TIMESTAMPTZ):

SELECT *
FROM 你的表名
WHERE event_time >= '2021-09-20 10:00:00 UTC'
  AND event_time <= '2021-09-21 18:00:00 UTC';

SQL Server

SELECT *
FROM 你的表名
WHERE event_time >= '2021-09-20 10:00:00 +00:00'
  AND event_time <= '2021-09-21 18:00:00 +00:00';

注意事项

  • 所有筛选时间统一使用UTC时区匹配,避免时区转换误差导致筛选结果错误
  • 若不需要包含结束时间边界,可把<=替换为<,避免刚好落在18:00:00的记录不符合预期
  • 若你使用的时区不是UTC,需先将筛选的起止时间转换为UTC时间再写入查询语句

内容的提问来源于stack exchange,提问作者Chanty Sok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 01:48:01