赞
踩
让我们首先看一下传统的 REPLACE SQL 函数,它把一个字符串用另一个字符串来替换。假设您的数据在正文中有不必要的空格,您希望用单个空格来替换它们。利用 REPLACE 函数,您需要准确地列出您要替换多少个空格。然而,多余空格的数目在正文的各处可能不是相同的。下面的示例在 Joe 和 Smith 之间有三个空格。REPLACE 函数的参数指定要用一个空格来替换两个空格。在这种情况下,结果在原来的字符串的 Joe 和 Smith 之间留下了一个额外的空格。
SELECT REPLACE('Joe Smith',' ', ' ')
AS replace
FROM dual
REPLACE
---------
Joe Smith
REGEXP_REPLACE 函数把替换功能向前推进了一步,其语法在表 9 中列出。以下查询用单个空格替换了任意两个或更多的空格。( ) 子表达式包含了单个空格,它可以按 {2,} 的指示重复两次或更多次。
表 9: REGEXP_REPLACE 函数
语法 | 说明 |
REGEXP_REPLACE(source_string, pattern | 该函数用一个指定的 replace_string 来替换匹配的模式,从而允许复杂的"搜索并替换"操作。 |
SELECT REGEXP_REPLACE('Joe Smith',
'( ){2,}', ' ')
AS RX_REPLACE
FROM dual
RX_REPLACE
----------
Joe Smith
|
|
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。