デフォルトでは、NULL 値を含む要素と属性は、結果から省略されます。for_xml_null_treatment オプションを使用すると、この動作を制御できます。
NULL 会社名を含む Customers テーブル内のエントリを考えてみます。
INSERT INTO Customers( ID, Surname, GivenName, Street, City, Phone) VALUES (100,'Robert','Michael', '100 Anywhere Lane','Smallville','519-555-3344'); |
for_xml_null_treatment オプションを Omit (デフォルト) に設定して次のクエリを実行すると、属性は NULL カラム値について生成されません。
SELECT ID, GivenName, Surname, CompanyName FROM Customers WHERE GivenName LIKE 'Michael%' ORDER BY ID FOR XML RAW; |
この場合、CompanyName 属性は Michael Robert について生成されません。
<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"/> |
for_xml_null_treatment オプションを Empty に設定すると、空の属性も結果に含まれます。
<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"/> |
この場合、空の CompanyName 属性が Michael Robert について生成されています。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |