如何替换表列中的多个空格

jus*_*ust 0 regex sql oracle plsql replace

我有一个表列,它有像这样的行:

Joe Loe
korea china
Dan  Ger
Run Code Online (Sandbox Code Playgroud)

Dan和Ger之间有两个空格。我想替换在列中包含多个空格的该列值,但是我该怎么做。请帮助我。

SELECT myTable.Columnx
FROM table myTable  
where REGEXP_LIKE(myTable.Columnx, '[[:space:]]*','')
Run Code Online (Sandbox Code Playgroud)

小智 5

从regexp_like函数中,我假设您正在使用Oracle DB。

要替换数据中的多个空格,可以使用regexp_replace,如下所示

select regexp_replace('Test          test', '([[:space:]]+)' , ' ') from dual 
Run Code Online (Sandbox Code Playgroud)

您可以拥有任意数量的空格,此功能将仅用一个空格替换它。

([[:space:]] +)表示至少1个或多个空格。