Oracle SQL 查询删除逗号前的空格
Oracle SQL query to remove whitespace before comma
我有一个逗号分隔的字符串,例如
This,is ,a,beautiful ,summer day
你能帮我去掉“逗号”前的空白,而不去掉两个词之间的space吗?
尝试了以下查询:
SELECT regexp_replace('This,is ,a,beautiful ,summer day' , '[[:space:]]', null ) regexp
FROM dual;
但它删除了夏日之间的 space。
输出:
This,is,a,beautiful,summerday
正如你所说 - 替换它:
SQL> with test (col) as
2 (select 'This,is ,a,beautiful ,raining day' from dual)
3 --This,is,a,beautiful,summerday
4 select replace(col, ' ,', ',') result --> this
5 from test;
RESULT
-------------------------------
This,is,a,beautiful,raining day
SQL>
您可以使用以下方式替换多个空格:
SELECT regexp_replace(
'This,is ,a,beautiful ,summer day' ,
'[[:space:]]+,',
','
) regexp
FROM dual;
输出:
| REGEXP |
| :----------------------------- |
| This,is,a,beautiful,summer day |
db<>fiddle here
我有一个逗号分隔的字符串,例如
This,is ,a,beautiful ,summer day
你能帮我去掉“逗号”前的空白,而不去掉两个词之间的space吗?
尝试了以下查询:
SELECT regexp_replace('This,is ,a,beautiful ,summer day' , '[[:space:]]', null ) regexp
FROM dual;
但它删除了夏日之间的 space。
输出:
This,is,a,beautiful,summerday
正如你所说 - 替换它:
SQL> with test (col) as
2 (select 'This,is ,a,beautiful ,raining day' from dual)
3 --This,is,a,beautiful,summerday
4 select replace(col, ' ,', ',') result --> this
5 from test;
RESULT
-------------------------------
This,is,a,beautiful,raining day
SQL>
您可以使用以下方式替换多个空格:
SELECT regexp_replace(
'This,is ,a,beautiful ,summer day' ,
'[[:space:]]+,',
','
) regexp
FROM dual;
输出:
| REGEXP | | :----------------------------- | | This,is,a,beautiful,summer day |
db<>fiddle here