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

如何通过SQL提取字符串右侧第1、2分号之间的内容?

解决方案

针对你的需求,我们可以通过反转字符串定位分号的方式,准确提取右侧第1和第2个分号之间的内容,以下是修正后的SQL语句(以SQL Server为例):

SELECT 
    CASE
        -- 确保字符串中至少包含2个分号
        WHEN LEN(your_column) - LEN(REPLACE(your_column, ';', '')) >= 2
        THEN 
            LTRIM(RTRIM(
                REVERSE(
                    SUBSTRING(
                        REVERSE(your_column),
                        -- 从反转后第一个分号的下一位开始截取
                        CHARINDEX(';', REVERSE(your_column)) + 1,
                        -- 计算两个分号之间的长度:第二个分号位置 - 第一个分号位置 - 1
                        CHARINDEX(';', REVERSE(your_column), CHARINDEX(';', REVERSE(your_column)) + 1) 
                        - CHARINDEX(';', REVERSE(your_column)) 
                        - 1
                    )
                )
            ))
        ELSE NULL
    END AS SecondGroupFromRight
FROM your_table;

逻辑说明

  1. 反转字符串:将原字符串反转后,原本右侧的分号变为左侧,方便用CHARINDEX快速定位前两个分号的位置。
  2. 截取目标片段:在反转后的字符串中,截取第一个分号之后、第二个分号之前的部分,这部分对应原字符串中右侧第2个分号到第1个分号之间的内容。
  3. 反转回原顺序:将截取的片段再次反转,恢复原本的字符顺序,最后用LTRIM/RTRIM去除首尾空格。
  4. 边界判断:当分号数量不足2个时,返回NULL,符合你的需求。

补充:处理逗号分隔的情况

如果需要兼容逗号分隔的场景,可以在处理前先统一替换分隔符,将your_column替换为REPLACE(your_column, ',', ';')即可,例如:

SELECT 
    CASE
        WHEN LEN(REPLACE(your_column, ',', ';')) - LEN(REPLACE(REPLACE(your_column, ',', ';'), ';', '')) >= 2
        THEN 
            LTRIM(RTRIM(
                REVERSE(
                    SUBSTRING(
                        REVERSE(REPLACE(your_column, ',', ';')),
                        CHARINDEX(';', REVERSE(REPLACE(your_column, ',', ';'))) + 1,
                        CHARINDEX(';', REVERSE(REPLACE(your_column, ',', ';')), CHARINDEX(';', REVERSE(REPLACE(your_column, ',', ';'))) + 1) 
                        - CHARINDEX(';', REVERSE(REPLACE(your_column, ',', ';'))) 
                        - 1
                    )
                )
            ))
        ELSE NULL
    END AS SecondGroupFromRight
FROM your_table;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 07:03:27