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

如何在SQL中从STRING_SPLIT拆分结果中获取指定值?

如何从STRING_SPLIT的结果集中获取指定内容?

当然可以,有几种直接的方法实现:

方法一:直接通过值筛选

利用WHERE子句配合IN关键字,直接指定要获取的目标值:

SELECT value
FROM STRING_SPLIT('3G-4RPE-L250-S80-27K-UNV-DIM-WT-RG1-CP-S(9)', '-')
WHERE value IN ('4RPE', 'RG1');

执行后会直接返回4RPE和RG1这两个结果。

方法二:按位置筛选

如果知道目标值在原字符串中的位置(比如4RPE是第2个分段,RG1是第9个分段),可以用窗口函数标记位置后筛选:

WITH SplitValues AS (
    SELECT 
        value,
        ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS segment_position
    FROM STRING_SPLIT('3G-4RPE-L250-S80-27K-UNV-DIM-WT-RG1-CP-S(9)', '-')
)
SELECT value
FROM SplitValues
WHERE segment_position IN (2, 9);

注意:STRING_SPLIT返回的结果顺序与原字符串中分段的顺序一致,因此可以通过位置精准定位。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 13:15:32