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

Oracle SQL中使用REGEXP_SUBSTR提取AC后的5位固定数字

解决方法

可以使用正则表达式直接匹配AC_后的5位数字,无需依赖AC在字符串中的位置。利用Oracle的REGEXP_SUBSTR函数,通过捕获组提取目标内容:

示例代码

WITH CTE(STR) AS 
(
    SELECT 'Phone_mid_bsnl_AC_10035' FROM DUAL
    UNION ALL
    SELECT 'Phone_up_gsk_pdp_AC_90054' FROM DUAL
)
SELECT 
    STR,
    REGEXP_SUBSTR(STR, 'AC_(\d{5})', 1, 1, NULL, 1) AS target_number
FROM CTE;

正则说明

  • AC_:匹配固定的字符串片段,定位数字的前置标识
  • (\d{5}):匹配连续5位数字,并将这部分内容作为捕获组
  • REGEXP_SUBSTR的第6个参数1:指定提取第一个捕获组的内容,也就是我们需要的5位数字

这个写法不受AC在字符串中位置的影响,只要目标数字是紧跟在AC_后的5位数字,就能准确提取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 10:53:32