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

SQL Server如何按规则截取字符串生成新查询列

SQL Server 字符串提取查询实现

你可以通过CHARINDEX定位关键字符位置,搭配SUBSTRING实现指定内容截取,以下是可直接运行的查询语句:

SELECT 
    col1,
    SUBSTRING(col1, first_space_pos + 1, first_comma_pos - first_space_pos - 1) AS col2,
    SUBSTRING(col1, first_comma_pos + 2, second_comma_pos - first_comma_pos - 2) AS col3
FROM -- 替换为你实际的表名
    your_table_name
CROSS APPLY (
    -- 提前计算关键位置下标,避免重复调用函数、提升可读性
    SELECT 
        CHARINDEX(' ', col1) AS first_space_pos,
        CHARINDEX(',', col1) AS first_comma_pos,
        CHARINDEX(',', col1, CHARINDEX(',', col1) + 1) AS second_comma_pos
) AS pos_calc

逻辑说明

  • 用CROSS APPLY计算3个核心位置:第一个空格的下标、第一个逗号的下标、第二个逗号的下标
  • col2的截取逻辑:起始位置为第一个空格下标+1,截取长度为「第一个逗号下标 - 第一个空格下标 - 1」,刚好取到第一个空格后、第一个逗号前的内容
  • col3的截取逻辑:起始位置为第一个逗号下标+2(跳过逗号和后面紧跟的空格),截取长度为「第二个逗号下标 - 第一个逗号下标 - 2」,刚好取到第一个逗号+空格后、第二个逗号前的内容

如果需要兼容格式异常的数据,可以添加位置有效性判断,比如如果first_comma_pos为0说明字段中没有逗号,可以返回空值或者自定义默认值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 03:15:05