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

如何筛选SQL中TIMESTAMP字段小时值在09:00:00至21:00:00间的数据

筛选时间范围在09:00:00到21:00:00之间的数据行

根据你提供的数据表结构,以下是不同数据库环境下的SQL查询语句,用于筛选timestamp_full字段时间部分处于09:00:00到21:00:00之间的行:

MySQL/MariaDB

使用TIME()函数提取时间部分进行范围判断:

SELECT *
FROM your_table_name
WHERE TIME(timestamp_full) BETWEEN '09:00:00' AND '21:00:00';

该语句会包含timestamp_full为09:00:00和21:00:00的行,排除08:30:00、21:20:00这类不在区间内的记录。

PostgreSQL

有两种常用写法:

  • 提取小时值进行判断:
SELECT *
FROM your_table_name
WHERE EXTRACT(HOUR FROM timestamp_full) BETWEEN 9 AND 21;
  • 转换为时间类型后比较:
SELECT *
FROM your_table_name
WHERE CAST(timestamp_full AS TIME) BETWEEN '09:00:00' AND '21:00:00';

SQL Server

通过CONVERT()函数获取时间部分:

SELECT *
FROM your_table_name
WHERE CONVERT(TIME, timestamp_full) BETWEEN '09:00:00' AND '21:00:00';

注意事项

如果需要排除21:00:00这个端点,可以将条件调整为:

-- 以MySQL为例
SELECT *
FROM your_table_name
WHERE TIME(timestamp_full) >= '09:00:00' 
  AND TIME(timestamp_full) < '21:00:01';

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 02:51:56