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

如何在MSSQL中从列提取最后两位并转换为年份计算列?

在MSSQL中为MyTable创建年份计算列

当然可以创建这样的计算列,以下提供两种实用实现方式:

1. 查询时动态生成年份列

如果不需要将年份列永久存储在表中,直接在SELECT查询里提取转换即可:

SELECT 
    [Column A] AS [列],
    '20' + RIGHT([Column A], 2) AS [年份]
FROM MyTable;

示例效果

输入数据:

列
10515121
05111512
23334305

执行查询后结果:

列年份
105151212021
051115122012
233343052005

2. 添加持久化计算列到表中

如果希望年份列作为表的永久字段存在,用ALTER TABLE语句添加即可:

ALTER TABLE MyTable
ADD [年份] AS '20' + RIGHT([Column A], 2) PERSISTED;
  • 带PERSISTED关键字会把计算结果物理存储在表中,能提升后续查询性能;不需要持久化的话可以去掉该关键字,查询时动态计算。
  • 若存在[Column A]长度不足2位的异常记录,可通过CASE语句兼容处理:
ALTER TABLE MyTable
ADD [年份] AS CASE 
                WHEN LEN([Column A]) >= 2 THEN '20' + RIGHT([Column A], 2)
                ELSE NULL -- 也可根据业务需求设置默认值
             END PERSISTED;

添加完成后,直接查询表就能看到年份列:

SELECT [Column A] AS [列], [年份] FROM MyTable;

内容的提问来源于stack exchange,提问作者Suat Atan PhD

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 06:54:54