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

Oracle中从NARRATION字段提取指定规则字符串的SQL查询求助

Oracle提取DS NO./DS NO后目标字符的SQL实现

针对你需要从NARRATION字段中提取DS NO或DS NO.之后第一个连续字符序列的需求,这里有个可以直接复用的Oracle SQL查询语句:

SELECT
    NARRATION,
    REGEXP_SUBSTR(
        NARRATION,
        'DS NO\.?\s*([A-Z0-9]+)',
        1,
        1,
        'i',
        1
    ) AS DERIVE_NARRATION
FROM
    YOUR_TABLE_NAME;

语句说明:

  • REGEXP_SUBSTR是Oracle的正则表达式提取函数,各参数作用如下:
    • 第一个参数:目标字段NARRATION
    • 第二个参数(匹配模式):DS NO\.?\s*([A-Z0-9]+)
      • DS NO:匹配固定文本前缀
      • \.?:匹配可选的点号(兼容DS NO和DS NO.两种格式)
      • \s*:匹配0个或多个空格(处理前缀和目标字符之间可能存在的空格)
      • ([A-Z0-9]+):捕获连续的字母/数字序列,也就是我们需要提取的核心内容
    • 1:从字符串第1个字符开始匹配
    • 1:提取第1个匹配到的结果
    • 'i':忽略大小写(不需要的话可以直接去掉这个参数)
    • 1:返回括号内捕获组的内容(即目标字符序列)

测试结果示例:

NARRATIONDERIVE_NARRATION
BI DS NO 60055271826005527182
BI DS NO. 485019485019
CI DS NO.6008364862(2000*1)6008364862
CI DS NO.1905180207 10*1) EDDF345928451905180207
CI DS NO.2105180520-(50*1) DDFF398442402105180520
CI DS NO.2105180653 (2000*1) DFSD398442402105180653
CI DS NO. 1905180220/(500*3,201905180220
CI DS NO.2105180166*(200*1) DSFSF398442402105180166

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:41:55