Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » XML in der Datenbank benutzen » Abfrageergebnisse als XML erhalten » Mit der FOR XML-Klausel Abfrageergebnisse als XML abrufen

 

FOR XML und NULL

Standardmäßig werden Elemente und Attribute, die NULL enthalten, aus dem Ergebnis ausgeklammert. Dieses Verhalten wird von der Option "for_xml_null_treatment" gesteuert.

Angenommen, ein Eintrag in der Tabelle "Customers" enthält für einen Firmennamen NULL.

INSERT INTO 
      Customers( ID, Surname, GivenName, Street, City, Phone) 
VALUES (100,'Robert','Michael',
       '100 Anywhere Lane','Smallville','519-555-3344');

Wenn Sie die folgende Abfrage ausführen und die Option "for_xml_null_treatment" auf "Omit" (Standardeinstellung) setzen, wird für NULL in der Spalte kein Attribut generiert.

SELECT ID, GivenName, Surname, CompanyName
FROM Customers
WHERE GivenName LIKE 'Michael%'
ORDER BY ID
FOR XML RAW;

In diesem Fall wird kein "CompanyName"-Attribut für Michael Robert generiert.

<row ID="100" GivenName="Michael" Surname="Robert"/>
<row ID="101" GivenName="Michaels" Surname="Devlin" CompanyName="The Power Group"/>
<row ID="110" GivenName="Michael" Surname="Agliori" CompanyName="The Pep Squad"/>

Wenn die Option "for_xml_null_treatment" auf "Empty" gesetzt ist, wird ein leeres Attribut in das Ergebnis aufgenommen:

<row ID="100" GivenName="Michael" Surname="Robert" CompanyName=""/>
<row ID="101" GivenName="Michaels" Surname="Devlin" CompanyName="The Power Group"/>
<row ID="110" GivenName="Michael" Surname="Agliori" CompanyName="The Pep Squad"/>

In diesem Fall wird ein leeres "CompanyName"-Attribut für Michael Robert generiert.

Hinweise zur Option "for_xml_null_treatment" finden Sie unter for_xml_null_treatment-Option.