我必须连接2列并放入值。但是问题是,即使两个值都为null,也仍然按照以下语法提供(:)。无论如何,如果两个值都为null,我们可以删除输出中的列。
listagg(AP.ISSUE_ID||':'||ISS.ISSUE_DESCRIPTION ,'; ') within group(order by AP.ISSUE_ID||':'||ISS.ISSUE_DESCRIPTION) DESCRIPTION,
答案 0 :(得分:4)
如果要忽略listagg()
中的列,请将值设置为NULL
。在这种情况下,Oracle接受NULL
值进行字符串连接。因此,让我们在串联后进行测试:
listagg(nullif(AP.ISSUE_ID ||| ':' || ISS.ISSUE_DESCRIPTION, ':'),'; ')
within group (order by AP.ISSUE_ID || ':'|| ISS.ISSUE_DESCRIPTION) as DESCRIPTION,
答案 1 :(得分:1)
AP.ISSUE_ID || nvl2(AP.ISSUE_ID || ISS.ISSUE_DESCRIPTION, ':' || ISS.ISSUE_DESCRIPTION, null)