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

如何获取完整小时而非分钟?datetime时间取整至小时的查询方法

处理Datetime到整小时的SQL语句

根据你使用的数据库类型,对应不同的处理方式:

MySQL/MariaDB

有两种常用方法可以实现:

  • 方法1:通过格式化字符串后转回datetime类型
SELECT CAST(DATE_FORMAT('2021-10-27 04:55:00.000', '%Y-%m-%d %H:00:00.000') AS DATETIME);
  • 方法2:提取日期和小时后重新拼接
SELECT DATE_ADD(DATE('2021-10-27 04:55:00.000'), INTERVAL HOUR('2021-10-27 04:55:00.000') HOUR);

SQL Server

推荐两种高效写法:

  • 方法1:通过时间差截断到小时(性能更优)
SELECT DATEADD(HOUR, DATEDIFF(HOUR, 0, '2021-10-27 04:55:00.000'), 0);
  • 方法2:格式化后转换回datetime类型
SELECT CAST(FORMAT('2021-10-27 04:55:00.000', 'yyyy-MM-dd HH:00:00.fff') AS DATETIME);

PostgreSQL

直接使用DATE_TRUNC函数截断到小时:

SELECT DATE_TRUNC('hour', '2021-10-27 04:55:00.000'::TIMESTAMP);

如果需要强制保留毫秒位显示,可再格式化转换:

SELECT TO_CHAR(DATE_TRUNC('hour', '2021-10-27 04:55:00.000'::TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS.FFF')::TIMESTAMP;

Oracle

使用TRUNC函数指定截断到小时维度:

SELECT TRUNC(TO_DATE('2021-10-27 04:55:00.000', 'YYYY-MM-DD HH24:MI:SS.FF3'), 'HH24') FROM DUAL;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 06:21:57