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

如何使用SQL Server从日期字符串中提取月份和年份?

SQL Server提取日期字符串中的月份和年份

针对你给出的固定格式日期字符串(月份 日期, 年份),可以用两种可靠的方法实现需求:

方法一:转换为日期类型后格式化(推荐)

如果你的字符串都是合法的日期格式,优先用这种方法,逻辑简洁且不易出错:

SELECT FORMAT(CAST(your_column AS DATE), 'MMMM yyyy') AS month_year
FROM your_table;
  • CAST(your_column AS DATE) 将字符串转换为DATE类型,SQL Server会自动识别这种格式的日期
  • FORMAT(..., 'MMMM yyyy') 把日期格式化为「完整月份名 + 4位年份」的形式,正好匹配你的需求

方法二:纯字符串操作(兼容非标准日期场景)

如果存在无法转换为日期的异常字符串,可以用字符串截取的方式:

SELECT 
    CONCAT(
        LEFT(your_column, CHARINDEX(' ', your_column, CHARINDEX(' ', your_column) + 1) - 1),
        ' ',
        RIGHT(your_column, 4)
    ) AS month_year
FROM your_table;
  • CHARINDEX(' ', your_column) 找到第一个空格的位置(月份和日期之间的空格)
  • CHARINDEX(' ', your_column, ... + 1) 找到第二个空格的位置(日期和逗号前的空格)
  • LEFT(...) 截取到第二个空格前的部分,得到完整月份
  • RIGHT(your_column, 4) 直接截取最后4位得到年份,再拼接空格组合成结果

内容的提问来源于stack exchange,提问作者java-life-love

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 20:20:52