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

使用SUBSTRING和PATINDEX拆分字符串:最后一步求解

提取Column C的SQL解决方案

针对你提到的两种格式(P100+P200 和 SUMME(P400:P1200)),可以通过CASE分支判断格式类型来提取第三列(Column C)。结合你已有的代码,完整的第三列提取逻辑如下:

MAX(
    CASE
        -- 处理SUMME(XX:YY)格式:取冒号到右括号之间的内容
        WHEN t3.formel LIKE 'SUMME(%' THEN
            SUBSTRING(
                t3.formel,
                PATINDEX('%[+:.-]%', t3.formel) + 1,
                LEN(t3.formel) - PATINDEX('%[+:.-]%', t3.formel) - 1
            )
        -- 处理XX+YY格式:取加号之后的所有内容
        ELSE
            SUBSTRING(
                t3.formel,
                PATINDEX('%[+:.-]%', t3.formel) + 1,
                LEN(t3.formel)
            )
    END
) AS "Formelteil 2" -- 对应你的Column C

逻辑说明:

  1. 分支判断:用LIKE 'SUMME(%'识别求和格式的字符串,区分两种不同结构
  2. SUMME格式处理:因为字符串末尾有右括号),截取时从符号位置+1开始,长度为总长度减去符号位置再减1(去掉最后一个括号)
  3. 普通加减格式处理:直接截取符号位置+1到字符串结尾的内容即可

把这段代码和你已有的前两列代码整合,就能得到完整的三列结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 00:38:28