REGEXP_SUBSTR
📄字数 429
👁️阅读量 加载中...
功能描述
从字符串中提取符合正则表达式模式的子串。
语法格式
sql
REGEXP_SUBSTR(expr1,expr2[,expr3[,expr4[,expr5]]])
输入参数
expr1
:源字符串,可以是列名或者字符串常量、变量,VARCHAR
类型。expr2
:正则表达式,VARCHAR
类型。expr3
:可选参数,标识从第几个字符开始正则表达式匹配(默认为1
),INTEGER
类型。expr4
: 可选参数,指定第几次匹配(默认为1
),INTEGER
类型。expr5
:可选参数,匹配模式,VARCHAR
类型,具体模式参考regexp_count。
输出结果
输出结果为VARCHAR
类型,任意输入参数为NULL
,输出结果为NULL
。
示例
SQL
-- 示例1:提取连续数字
SQL> SELECT REGEXP_SUBSTR('订单ID: 789, 数量: 456', '[0-9]+') FROM dual;
+-------+
| EXPR1 |
+-------+
| 789 |
+-------+
-- 示例2:从第5字符开始,取第2次匹配
SQL> SELECT REGEXP_SUBSTR('a1,b2,c3,d4', '[^,]+', 5, 2) FROM dual;
+-------+
| EXPR1 |
+-------+
| c3 |
+-------+