【ORACLE】数据拼接那些事-多行或多列按指定分隔符拼接
    		       		warning:
    		            这篇文章距离上次修改已过426天,其中的内容可能已经有所变动。
    		        
        		                
                在Oracle中,可以使用LISTAGG函数将多行数据按指定的分隔符拼接成单行。但是,需要注意的是,LISTAGG函数在12c版本中才被引入。在12c之前的版本,可以使用WM_CONCAT函数或者自定义聚合函数来实现类似的功能。
以下是使用LISTAGG函数的示例:
SELECT LISTAGG(column_name, ',') WITHIN GROUP (ORDER BY column_name) AS concatenated_string
FROM table_name;这将把table_name表中的column_name列的所有值按照升序拼接成一个由逗号分隔的字符串。
如果需要按行进行拼接,可以使用WM_CONCAT函数,如下所示:
SELECT WM_CONCAT(column_name) AS concatenated_string
FROM table_name;这将会把table_name表中的column_name列的所有值拼接成一个由默认分隔符连接的字符串。
如果需要进行列的拼接,可以使用||运算符,如下所示:
SELECT column1 || column2 || column3 AS concatenated_string
FROM table_name;这将会把table_name表中的column1, column2, column3列的所有值拼接成一个新的字符串。
请根据你的Oracle版本和具体需求选择合适的方法。
评论已关闭