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

SQL Anywhere 12.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Verwendung von XML in der Datenbank » Abfrageergebnisse als XML » Abrufen von Abfrageergebnissen als XML mit der FOR XML-Klausel

 

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.

 Siehe auch