本文为您介绍如何使用实时计算字符串函数REGEXP_REPLACE。

语法

VARCHAR REGEXP_REPLACE(VARCHAR str, VARCHAR pattern, VARCHAR replacement)

入参

参数 数据类型 说明
str VARCHAR 指定的字符串。
pattern VARCHAR 被替换的字符串。
replacement VARCHAR 用于替换的字符串。
注意 请您按照Java代码编写正则常量。Codegen会自动将SQL常量字符串转化为Java代码。描述一个数值(\d)的正则表达式和Java中一样,为 '\d'

功能描述

用字符串replacement替换字符串str中正则模式为pattern的部分,并返回新的字符串。如果参数为NULL或者正则不合法时,则返回NULL。

如果您的业务数据中存在特殊字符(即系统使用的字符或者SQL关键字),则需要对特殊字符进行转义处理。常见的特殊字符和转义方式如下表所示。
特殊字符 字符的转义方式
' \'
\ \$
. \\.
$ \\$

示例

  • 测试数据
    str1(VARCHAR) pattern1(VARCHAR) replace1(VARCHAR)
    2014-03-13 -
    NULL -
    2014-03-13 - NULL
    2014-03-13 s
    2014-03-13 ( s
    100-200 (\d+) num
  • 测试语句
    SELECT  REGEXP_REPLACE(str1, pattern1, replace1) as result
    FROM T1;
  • 测试结果
    result(VARCHAR)
    20140313
    null
    null
    2014-03-13
    null
    num-num