2016-04-22 35 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

相关问题