Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


REGEXP_REPLACE

📄字数 496
👁️阅读量 加载中...

功能描述

通过正则表达式匹配字符串中的模式,并将匹配部分替换为指定内容

语法格式

sql
REGEXP_REPLACE(expr1,expr2[,expr3[,expr4[,expr5[,expr6]]]])

输入参数

  • expr1:源字符串,VARCHAR类型。
  • expr2:正则表达式,VARCHAR类型。
  • expr3: 可选参数,替换目标串(默认为空串),VARCHAR类型。
  • expr4:可选参数,开始匹配的字符位置(默认为1),INTEGER类型。
  • expr5: 可选参数,指定第几次匹配(默认为1),INTEGER类型。
  • expr6:可选参数,匹配模式,VARCHAR类型,具体模式参考regexp_count

输出结果

输出结果为VARCHAR类型,任意输入参数为NULL,输出结果为NULL

示例

SQL
-- 示例1:将字符串'2023-08-01'中间的'-'替换为'08/01/2023'
SQL> SELECT REGEXP_REPLACE('2023-08-01', '(\d{4})-(\d{2})-(\d{2})', '\2/\3/\1') FROM dual;

+------------+
|   EXPR1    |
+------------+
| 08/01/2023 |
+------------+

-- 示例2:将字符串'1234567890'前6位数字替换为'*'
SQL> SELECT REGEXP_REPLACE('1234567890', '\d(?=\d{4})', '*') FROM dual;

+------------+
|   EXPR1    |
+------------+
| ******7890 |
+------------+