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

使用SQL按特定格式拼接字符串与日期/时间

解决SQL日期格式中单空格分隔的问题

我太懂这个困扰了!用CONVERT(VARCHAR(20), INTENDDTE, 100)生成的日期,遇到个位数的日期时会自动补一个空格(比如Jun 5 2014 12:00AM),刚好破坏了你需要的单空格分隔格式。

给你两个实用的解决思路:

方法一:用REPLACE快速修复双空格

这是最直接的方案,利用REPLACE把结果里的双空格替换成单空格就行:

SELECT REPLACE(CONVERT(VARCHAR(20), INTENDDTE, 100), '  ', ' ')

这个方法精准针对CONVERT(...,100)的特性——它只会在日期为1-9时出现双空格,替换后就能完美得到你要的Oct 13 2017 12:00AM或Aug 1 2017 12:00AM这类单空格格式。

方法二:手动拼接日期各部分(更可控)

如果你想从根源避免空格问题,可以手动拆分日期的月份、日、年和时间部分再拼接:

SELECT 
    DATENAME(MONTH, INTENDDTE) + ' ' + 
    CAST(DAY(INTENDDTE) AS VARCHAR) + ' ' + 
    CAST(YEAR(INTENDDTE) AS VARCHAR) + ' ' + 
    CONVERT(VARCHAR(8), INTENDDTE, 109)

这种方式完全由你控制分隔符,生成的结果自然是单空格分隔的格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:29:32