ORACLE 一列的多行資料拼成字串

2021-08-25 06:16:08 字數 555 閱讀 5558

上篇文章寫的是在ibatis中,需要返回乙個字串,卻返回了多行資料,結果出現了錯誤。

其實,我想做的是:

查詢表中的乙個字段,返回了多行,就把這麼多行的資料都拼成乙個字串。

例: id name

1 aa

2 bb

3 cc

要的結果是"aa,bb,cc"

以前有過這種需求,我用儲存過程拼接,或者在程式中取出資料拼接,就這樣暫時解決了。

可是事後一直在想是不是可以直接查出來,這樣就簡單多了,oracle中應該有這樣的方法的,可是一直沒找到,呵呵,今天終於解決了。

select wmsys.wm_concat(a.name) from user a

這樣的話,查詢出的結果:"aa.bb.cc"

解決是解決了,不過用中間用點間隔不太好,希望用逗分號

改進一下:

select replace(wmsys.wm_concat(a.name),',',';') from user a

結果:"aa;bb;cc"

終於,完美解決了一直困擾我的問題。。。挺簡單的乙個方法

ORACLE一列的多行資料拼成字元

例 id name 1 aa 2 bb 3 cc 要的結果是 aa,bb,cc 以前有過這種需求,我用儲存過程拼接,或者在程式中取出資料拼接,就這樣暫時解決了。可是事後一直在想是不是可以直接查出來,這樣就簡單多了,oracle中應該有這樣的方法的,可是一直沒找到,呵呵,今天終於解決了。select ...

ORACLE 一列的多行資料拼成字串

查詢表中的乙個字段,返回了多行,就把這麼多行的資料都拼成乙個字串。例 id name 1 aa 2 bb 3 cc 要的結果是 aa,bb,cc 以前有過這種需求,我用儲存過程拼接,或者在程式中取出資料拼接,就這樣暫時解決了。可是事後一直在想是不是可以直接查出來,這樣就簡單多了,oracle中應該有...

oracle 多行轉一列

以前用過又忘了。今天做資料匯出用到,記下。oracle中的wmsys.wm concat主要實現行轉列功能 說白了就是將查詢的某一列值使用逗號進行隔開拼接,成為一條資料 select d.id,d.papid as 援助系統,i.papname,d.fid as 發貨單號,d.fwdate as 發...