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

SQL Server 2012中提取MODEL_NUMBER右侧10位字符的SQL实现

SQL Server 2012 提取MODEL_NUMBER右侧10个字符

解决方法

结合CHARINDEX定位目标字符串位置,再用SUBSTRING和LTRIM处理空格后截取字符,具体SQL如下:

SELECT 
    [column],
    -- 提取MODEL_NUMBER右侧的10个有效字符(自动跳过后续空格)
    SUBSTRING(
        LTRIM(SUBSTRING([column], CHARINDEX('MODEL_NUMBER=', [column]) + LEN('MODEL_NUMBER='), LEN([column]))),
        1,
        10
    ) AS Model_Number_Right10
FROM dbo.[table]
WHERE [column] LIKE '%MODEL_NUMBER=%'

代码说明

  1. CHARINDEX('MODEL_NUMBER=', [column]):找到MODEL_NUMBER=在字段中的起始索引
  2. + LEN('MODEL_NUMBER='):跳过MODEL_NUMBER=本身,定位到后续内容的起始点
  3. LTRIM(...):去除MODEL_NUMBER=后续内容开头的空格(适配示例中带空格的格式)
  4. SUBSTRING(..., 1, 10):从处理后的内容开头截取10个字符

无空格场景简化

如果MODEL_NUMBER=后直接跟目标字符(无空格),可以简化为:

SELECT 
    [column],
    SUBSTRING([column], CHARINDEX('MODEL_NUMBER=', [column]) + LEN('MODEL_NUMBER='), 10) AS Model_Number_Right10
FROM dbo.[table]
WHERE [column] LIKE '%MODEL_NUMBER=%'

示例验证

针对你提供的样本数据,执行带空格处理的语句后,将返回312963532_(对应目标值312963532_1'的前10个有效字符)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 19:03:25