0
我有一個值列表,作爲動態查詢的一部分,形成in
子句的元組。listagg問題的Oracle RTRIM
要做到這一點,我已經使用了LISTAGG,加入'),('1','
到每個值,然後使用rtrim
刪除最後一個值:
with r1 as
(
select 1 as id, 'XYZ1' as r_val
from dual
union all
select 2, 'ABC1'
from dual
)
select rtrim(listagg(r1.r_val,
'''),(''1'',''') within group (order by r1.r_val),
'''),(''1'',''')
from r1
預計:
ABC1'),('1','XYZ1
然而,由於某些原因,如果r_val以1
結尾,則1
也被修整:
ABC1'),('1','XYZ
任何人都可以對此有所瞭解嗎?
壯觀,感謝G.這是從別人,我試圖清理這個bug的舊代碼,更有道理,現在 – JohnHC