本文為您介紹如何使用REGEXP_REPLACE函數,用目標字串替換指定字串,並返回新的字串。
使用限制
僅Realtime Compute引擎VVR 3.0.0及以上版本支援REGEXP_REPLACE函數。
文法
VARCHAR REGEXP_REPLACE(VARCHAR str, VARCHAR pattern, VARCHAR replacement)
入參
參數 | 資料類型 | 說明 |
str | VARCHAR | 指定的字串。 |
pattern | VARCHAR | 被替換的字串。 |
replacement | VARCHAR | 用於替換的目標字串。 |
重要
如果入參為NULL或者正則不合法時,則返回NULL。
系統會將pattern和replacement的字串解析成Regex,Regex使用Java Pattern進行處理,因此pattern和replacement的字串需遵從Java Regex文法。
樣本
測試資料
表 1. T1 str1(VARCHAR)
pattern1(VARCHAR)
replace1(VARCHAR)
2014-03-13
-
空
空
-
空
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
空
s2s0s1s4s-s0s3s-s1s3s
NULL
num-num