plsql中多行变成一行并取消空格
时间: 2023-09-11 08:07:44 浏览: 92
可以使用Oracle的LISTAGG函数将多行合并为一行,并使用REPLACE函数取消空格。例如,将表中的多行合并为一行并取消空格:
```
SELECT REPLACE(LISTAGG(column_name, ', ') WITHIN GROUP (ORDER BY column_name), ' ', '') AS combined_value
FROM table_name;
```
其中,column_name是要合并的列名,table_name是要合并的表名。使用WITHIN GROUP指定合并后的分隔符,ORDER BY指定合并后的顺序。最后使用REPLACE函数将合并后的字符串中的空格替换为空。
相关问题
plsql中多行变成一行并取消空格,在原来空格位置添加,
可以使用Oracle的LISTAGG函数将多行合并为一行,并使用REPLACE函数取消空格并在原位置添加指定的字符。例如,将表中的多行合并为一行,在原来空格位置添加逗号:
```
SELECT REPLACE(LISTAGG(column_name, ', ') WITHIN GROUP (ORDER BY column_name), ' ', ', ') AS combined_value
FROM table_name;
```
其中,column_name是要合并的列名,table_name是要合并的表名。使用WITHIN GROUP指定合并后的分隔符,ORDER BY指定合并后的顺序。最后使用REPLACE函数将合并后的字符串中的空格替换为逗号加一个空格。这样空格位置就添加了逗号。
plsql中多行变成一行并取消空格,在原来空格位置添加一个逗号
可以使用Oracle的REGEXP_REPLACE函数将多行合并为一行,并使用正则表达式取消空格并在原位置添加指定的字符。例如,将表中的多行合并为一行,在原来空格位置添加逗号:
```
SELECT REGEXP_REPLACE(LISTAGG(column_name, ' ') WITHIN GROUP (ORDER BY column_name), '(\s)+', ', ') AS combined_value
FROM table_name;
```
其中,column_name是要合并的列名,table_name是要合并的表名。使用WITHIN GROUP指定合并后的分隔符,ORDER BY指定合并后的顺序。最后使用REGEXP_REPLACE函数将合并后的字符串中的空格替换为逗号加一个空格。这样空格位置就添加了逗号。其中正则表达式`(\s)+`表示匹配一个或多个连续的空格,并将其替换为逗号加一个空格。
阅读全文