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

如何将MMM格式月份与YYYY格式年份列合并为MMM-YYYY格式?

解决MMM格式月份与YYYY年份列合并为MMM-YYYY格式的问题

看来你是想把分开的MMM格式月份列和YYYY年份列合并成MMM-YYYY的统一日期标识对吧?你之前用的语句cast(convert(varchar(6),c.Year,112) as int)[Month/Year]其实只在处理年份列,完全没用到月份数据,难怪只能提取出年份~

给你几个简单直接的解决方案:

基础拼接方案(适用于SQL Server)

如果你的月份列已经是标准的MMM格式(比如Jan、Feb),年份列是整数或字符串类型的YYYY格式,直接用字符串拼接就能得到想要的结果:

SELECT 
    CONCAT(c.MonthColumn, '-', c.YearColumn) AS [Month/Year]
FROM YourTable c;

记得把上面的MonthColumn换成你实际的月份列名,YourTable换成对应的表名。

带格式校验的拼接方案

如果担心月份列可能存在多余空格(比如Jan),可以用TRIM函数先清理格式,避免出现 Jan-2023这种带空格的结果:

SELECT 
    CONCAT(TRIM(c.MonthColumn), '-', c.YearColumn) AS [Month/Year]
FROM YourTable c;

补充说明

你之前用的convert(varchar(6),c.Year,112)其实是把年份(比如2023)转换成2023(因为112格式是YYYYMM,而年份只有四位,所以结果还是YYYY),再转成整数,整个过程和月份列完全无关,所以才得不到合并后的结果。直接拼接两个列才是最直接的方式哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 07:48:55