云数据库OceanBase入门教程 OceanBase REGEXP_REPLACE

2024-02-26 开发教程 云数据库OceanBase入门教程 匿名 2

REGEXP_REPLACE​ 函数用于正则表达式替换。

语法

REGEXP_REPLACE (source_char, pattern [,replace_string [, position [, occurrence [, match_param ]  ]  ]  ])

参数

参数

说明

source_char

用作搜索值的字符表达式。它通常是一种字符列,数据类型可以是 CHARVARCHAR2NCHARNVARCHAR2CLOB

pattern

是正则表达式 ,它通常是一个文本文字,数据类型可以是 CHARVARCHAR2NCHARNVARCHAR2

replace_string

表示替换的字符,可以是 CHARVARCHAR2NCHARNVARCHAR2CLOB类型。

position

是一个正整数类型,指示 OceanBase 从第几个字符开始搜索 source_char的字符,默认为 1,表示从第一个字符开始搜索source_char

occurrence

是一个非负整数,指示替换操作的发生,如果指定 0,则 OceanBase 替换所有匹配项;如果指定正整数 n,则 OceanBase 将替换第 n 次出现,默认为全部都替换掉,如果指定参数 0 也是全部匹配。

match_param

是数据类型 VARCHAR2CHAR的字符表达式,它允许您更改函数的默认匹配行为。

i表示大小写不敏感;c表示大小写敏感;n表示点号;.表示不匹配换行符号;m表示多行模式;x表示忽略空格字符,默认情况下,空格字符会相互匹配。

返回类型

返回结果与 ​source_char​ 的数据类型相同。

示例

下面的示例检查字符串,查找两个或多个空格。OceanBase 用一个空间替换两个或多个空间的每一次出现。执行以下语句:

SELECT REGEXP_REPLACE('500   OceanBase     Parkway,    Redwood  Shores, CA', '( ){2,}', ' ') "REGEXP_REPLACE"
FROM DUAL;

查询结果如下:

REGEXP_REPLACE
--------------------------------------
500 OceanBase Parkway, Redwood Shores, CA