Nic*_*ick 1 sql oracle concatenation
我有一些SQL,我想为mailout正确格式化(直接从SQL生成 - 不要问!).代码如下:
SELECT wm_concat('<br>• ' || FIELD1 || ' ' || FIELD2 || ' : ' || FIELD 3 || ' text') AS "Team"
Run Code Online (Sandbox Code Playgroud)
好吧,所以这种方法有用 - 但它在每一行的末尾都放了一个逗号.愚蠢的问题,也可能是相当微不足道的,但是反正可以删除逗号吗?我认为它是由wm_concat函数添加的
谢谢
是的WM_CONCAT函数在它连接的每个值之间加一个逗号.
如果您的数据中没有逗号,则可以执行以下操作:
SELECT replace (wm_concat('<br>• ' || FIELD1 || ' ' || FIELD2 || ' : '
|| FIELD 3 || ' text'),
',', null) AS "Team"
Run Code Online (Sandbox Code Playgroud)
如果您使用的是11G,则可以使用新的LISTAGG功能:
SELECT LISTAGG ('<br>• ' || FIELD1 || ' ' || FIELD2 || ' : '
|| FIELD 3 || ' text')
WITHIN GROUP (ORDER BY <something>) AS "Team"
Run Code Online (Sandbox Code Playgroud)
这将产生没有逗号的结果.