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

SQL Server多条件提取列数据并转换特定格式的技术求助

SQL Server 2005 按规则提取并转换PartNoAsIs列数据

针对Microsoft SQL Server Standard Edition 9.00.2047.00(即SQL Server 2005)环境,以下是整合后的查询语句,可实现对[NIMS_Eng_Test].[dbo].[Madill_Exraction_Test]表中[PartNoAsIs]列的规则化处理:

处理规则

  • 保留长度为6位的纯数值
  • 若值为首字母+5位数字(总长度6),将首字母替换为0(如L12345转为012345)
  • 若值为首字母+6位数字(总长度7),将首字母替换为0(如L123456转为0123456)
  • 其余值原样返回

整合后的查询语句

SELECT 
    PartNoAsIs,
    CASE
        -- 规则1:匹配6位纯数字
        WHEN LEN(PartNoAsIs) = 6 AND PartNoAsIs LIKE '[0-9][0-9][0-9][0-9][0-9][0-9]' THEN PartNoAsIs
        -- 规则2:匹配首字母+5位数字(总长度6)
        WHEN LEN(PartNoAsIs) = 6 AND PartNoAsIs LIKE '[A-Za-z][0-9][0-9][0-9][0-9][0-9]' THEN STUFF(PartNoAsIs, 1, 1, '0')
        -- 规则3:匹配首字母+6位数字(总长度7)
        WHEN LEN(PartNoAsIs) = 7 AND PartNoAsIs LIKE '[A-Za-z][0-9][0-9][0-9][0-9][0-9][0-9]' THEN STUFF(PartNoAsIs, 1, 1, '0')
        -- 其余情况原样返回
        ELSE PartNoAsIs
    END AS ProcessedPartNo
FROM [NIMS_Eng_Test].[dbo].[Madill_Exraction_Test]

示例输出

PartNoAsIsProcessedPartNo
123456123456
L12345012345
X9876540987654
ABC123ABC123
1234512345

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 06:35:02