2016-04-22 61 views
0

我有一個關於plsql中的xmlelement的問題。當在plsql中爲null時,是否有可能不顯示xmlelement?

我的代碼如下所示:

SELECT XMLROOT(
    XMLELEMENT("FirstElement", 'data1'), 
    (SELECT XMLAGG(
    XMLELEMENT("IterationElement1", 
     XMLFOREST(
     'value1' AS "FirstSubElement" 
     'value2' AS "SecondSubElement" 
    ) 
    ), 
    XMLELEMENT("IterationElement2", CASE WHEN a <> c THEN DECODE(a, 1, 'Y', 'N') ELSE NULL END), 
    XMLELEMENT("IterationElement3", CASE WHEN b <> c THEN DECODE(b, 1, 'Y', 'N') ELSE NULL END) 
) 
    FROM T2 where id = in_id 
) 
) 
FROM T1 
WHERE id = in_id 

目前的IterationElement2和3我想爲他們沒有出現在輸出時的值爲null,這是可能以某種方式?

回答

0

也許類似,只有當它有一個值這個

顯示XMLELEMENT

CASE WHEN a <> c THEN XMLELEMENT("IterationElement2",DECODE(a, 1, 'Y', 'N')) else null END 
+0

似乎很好地工作,不知道爲什麼我沒有想到移動case語句中的元素之外的 – macken88

相關問題