wm_concat()函數


工作中遇到這樣一個問題,一張數據庫表中有一個字段file_id,還有一個主鍵f_id(唯一),而file_id不唯一,我想把file_id=‘123456789’的記錄中的f_id(主鍵)連接成一個字符串,並且用‘,’隔開,方便后面的分解和使用,可以用一行代碼搞定,如下:

select wm_concat(f_id) from tablename where file_id='1052018000543';

執行結果  20181124000020,20181124000021,20181124000022,20181124000023,20181124000024

現在又有一個問題,如果我要用動態sql怎么辦,這樣的結果就不是我想要的,我需要把每個元素用單引號引起來,這里推薦另一種方法,代碼如下

select '''' ||replace(to_char(wm_concat(f_id)),',',''',''') || '''' 
from tablename where file_id = '1052018000543'

結果是     '20181124000020','20181124000021','20181124000022','20181124000023','20181124000024'

一切Ok

SQLserver實現


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM