我正在編寫一個返回XML的SQL select語句。我想提出一些意見,並發現一個帖子要求如何做到這一點。答案似乎是「comment()」函數/關鍵字。所以,我的代碼看起來大致是這樣的:SQL「for XML」和內置函數,如「comment()」
select ' extracted on tuesday ' as 'comment()',
(select top 5 id from MyTable for xml path(''),type)
for xml path('stuff')
...如下返回XML:
<stuff>
<!-- extracted on tuesday -->
<id>0DAD4B42-CED6-4A68-AB7D-0003E4C127CC</id>
<id>24BD0E5F-8B76-43FF-AEEA-0008AA911ADD</id>
<id>AAFF5BB0-BFFB-4584-BACC-0009684A1593</id>
<id>0581AF24-8C30-408C-9A48-000A488133AC</id>
<id>01E2306D-296A-4FF7-9263-000EEFF42230</id>
</stuff>
在嘗試的過程中找到更多關於「評論()」,我發現「data()」。
select top 5 id as 'data()' from MyTable for xml path('')
不幸的是,名稱使得搜索這些功能的信息非常困難。
有人能告訴我他們的使用文檔,以及任何其他類似的功能嗎?
謝謝,
編輯:
另一個似乎是 「處理指令(等等)」。
實施例:
select 'type="text/css" href="style.css"' as 'processing-instruction(xml-stylesheet)',
(select top 5 id from MyTable for xml path(''),type)
for xml path('stuff')
結果:
<stuff>
<?xml-stylesheet type="text/css" href="style.css"?>
<id>0DAD4B42-CED6-4A68-AB7D-0003E4C127CC</id>
<id>24BD0E5F-8B76-43FF-AEEA-0008AA911ADD</id>
<id>AAFF5BB0-BFFB-4584-BACC-0009684A1593</id>
<id>0581AF24-8C30-408C-9A48-000A488133AC</id>
<id>01E2306D-296A-4FF7-9263-000EEFF42230</id>
</stuff>
['數據()'在這裏加以簡述(HTTP:/ /technet.microsoft.com/en-us/library/bb510419.aspx)。您也可以找到[XPath 1.0 W3C推薦](http://www.w3.org/TR/xpath/),儘管'comment()'僅在通過時提及。 –
(另外,我建議使用'[方括號]'來捕獲別名。在某些情況下,使用''單引號''已被棄用,並且確實使得它們看起來像字符串分隔符。) –
謝謝Aaron。我認爲,在搜索「comment()」時,我發現TechNet文章 - 這是我找到「data()」的地方。 –