2013-11-20 6 views
0

필드가 NULL 일 때 XML 태그를 검색하는 방법은 무엇입니까? 이 쿼리입니다 :Oracle의 쿼리에서 값이 Null 인 경우 XML 태그가 나타나지 않습니다.

SELECT XMLElement("FlowerSeeds" , XMLAttributes('http://euroconsumers.org/' as "xmlns") 
      , xmlforest(
         d.cli_pre_l "Name" 
         , d.cli_nom_l "FirstName" 
         , COALESCE(d.cli_gsm_c, NULL) "Phone"      
         , d.cli_eml_c "Email" 
         , 
          xmlforest (
              d.cli_rue_l "Street" 
              , d.CLI_RUE_NUM_L "StreetNumber" 
              , d.cli_cpo_c "PostalCode" 
              , d.cli_loc_l "City" 
              , null as "District" 
          ) "DeliveryAddress" 
        ) 
       ).getclobval() 
    FROM TA_MAIN.clients d 
WHERE d.cli_id_s = 2504217 

일부 필드가 NULL 때 I은 문제가 있다면, XML의 태그가 생성되지 않습니다.

예 : Phone 또는 Email의 값이 NULL이면 XML 태그가 생성되지 않습니다. 값이 null 인 경우에도 XML 태그를 만들려면 어떻게해야합니까? 이처럼

:

<FlowerSeeds xmlns="http://euroconsumers.org/"> 
    <Name>SYLVIA</Name> 
    <FirstName>DEL</FirstName> 
    <DeliveryAddress> 
     <Street>AVENUE DE ROG 135</Street> 
     <StreetNumber>135</StreetNumber> 
     <PostalCode>1285</PostalCode> 
     <City>WOLUWE</City> 
    </DeliveryAddress> 
</FlowerSeeds> 

Result

+0

가능한 중복 [표현 값이 경우에도 XMLFOREST CREAT 요소를 적용하는 방법 null] (http://stackoverflow.com/questions/15705800/how-to-enforce-xmlforest-creat-elements-even-if-expression-value-is-null) – MT0

답변

0

이 질문에 대한 대답은 다음 쿼리입니다 :

SELECT XMLElement("FlowerSeeds" , XMLAttributes('http://euroconsumers.org/' as "xmlns") 
     , XMLElement("Name", d.cli_pre_l) 
     , XMLElement("FirstName", d.cli_nom_l) 
     , XMLElement("GSM1", d.cli_gsm_c) 
     , XMLElement("Email", d.cli_eml_c)   
     , XMLElement(
         "DeliveryAddress", 
         XMLElement("Street", d.cli_rue_l) 
         , XMLElement("StreetNumber", d.CLI_RUE_NUM_L) 
         , XMLElement("PostalCode", d.cli_cpo_c) 
         , XMLElement("City", d.cli_loc_l) 
         , XMLElement("District", NULL) 
        ) 
     ).getclobval() 
    FROM TA_MAIN.clients d 
WHERE d.cli_id_s = 2504217 
관련 문제