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

SQL查询如何格式化日期去除秒数 实现表2日期匹配表1格式

代码错误说明

你的查询存在两处核心问题:

  • 格式占位符使用错误:SQL Server FORMAT 函数中,小写mm代表分钟,代表月份的正确占位符是大写MM,占位符写反会导致月份位置输出错误的分钟数值。
  • 格式串缺少秒级占位:表1的日期格式包含秒值,你写的格式串仅配置到分钟位(HH:mm),没有追加秒占位符:ss,输出自然不会显示秒。
    另外表2日期末尾的.0000000是datetime2(7)类型的默认输出特征,只要格式串明确指定输出到秒位,就不会显示这部分亚秒精度的小数后缀。
修正方案

直接修正FORMAT函数的格式串即可得到和表1完全一致的输出:

SELECT FORMAT(MAX(date1), 'yyyy-MM-dd HH:mm:ss') FROM table2

如果追求更高的查询性能(FORMAT函数属于CLR实现,执行效率远低于原生日期函数),可以用原生CONVERT函数实现同等效果:

-- 方式1:转成datetime类型自动丢弃亚秒小数,默认输出格式与表1匹配
SELECT CONVERT(datetime, MAX(date1)) FROM table2

-- 方式2:指定20号格式码,固定输出yyyy-MM-dd HH:mm:ss格式的字符串
SELECT CONVERT(varchar(19), MAX(date1), 20) FROM table2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 06:27:18