在plsql中为null时是否可以不显示xmlelement?

时间:2016-04-22 13:59:45

标签: xml plsql

我对plsql中的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时不在输出中显示,这是否可能以某种方式进行?

1 个答案:

答案 0 :(得分:0)

也许是这样的

仅在xmlelement值为

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