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

如何将拼接当前年份的DD MMM YYYY格式字符串转回日期类型?

解决SQL日期字符串转日期类型问题
  • 你之前的操作错误在于最后一步用Convert(varchar, ..., 101)仍输出字符串,且格式代码101对应MM/DD/YYYY,和你输入的DD MMM YYYY格式不匹配,所以无法正确转换为日期类型。

  • 正确做法是直接将拼接好的DD MMM YYYY格式字符串转为DATE类型,有两种可靠方式:
    方法1:用CONVERT指定匹配的格式代码106(对应dd mon yyyy格式)

    CONVERT(DATE, CONVERT(varchar(7), from_dt, 106) + CAST(YEAR(GETDATE()) AS varchar(4)), 106)
    

    方法2:直接用CAST(SQL Server可自动识别该日期格式)

    CAST(CONVERT(varchar(7), from_dt, 106) + CAST(YEAR(GETDATE()) AS varchar(4)) AS DATE)
    
  • 额外优化:如果from_dt本身是日期类型,建议跳过字符串拼接,直接用日期函数生成目标日期,性能更优且更可靠:

    DATEFROMPARTS(YEAR(GETDATE()), MONTH(from_dt), DAY(from_dt))
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 18:52:03