Huiselect'Hui'forxmlpath('root')結果:Hui

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

SQL SERVER中XML查詢:FOR XML指定PATH

系統 2263 0

SQL SERVER中XML查詢:FOR XML指定PATH


前言


在SQL SERVER中,XML查詢能夠指定RAW,AUTO,EXPLICIT,PATH。本文用一些實例介紹SQL SERVER中指定PATH的XML查詢。



PATH參數


PATH('參數'),參數是用來重命名ROW的,ROW是默認生成的名稱。
select 'Hui' for xml path ?結果:<row>Hui</row>
select 'Hui' for xml path ('root') 結果:<root>Hui</root>


不帶名稱的列


select 'Hui Li' for xml path
結果:
<row>Hui Li</row>


具有名稱的列


列名以 @ 符號開頭


select 'Hui Li' as [@name] for xml path ?結果:<row name="Hui Li" />


列名不以 @ 符號開頭



select 'Hui Li' as [name] for xml path ?結果:
<row>
? <name>Hui Li</name>
</row>


列名不以 @ 符號開頭并包括斜杠標記 (/)


select 'Hui' as [name/first] for xml path ?結果:
<row>
? <name>
? ? <first>Hui</first>
? </name>
</row>



多個列共享同一前綴



select 'Hui' as [name/first],'Li' as [name/last] for xml path ?結果:
<row>
? <name>
? ? <first>Hui</first>
? ? <last>Li</last>
? </name>
</row>
注意大寫和小寫敏感。


共享同一前綴多列被打斷順序


select 'Hui' as [name/first],'Chicago' as [address],'Li' as [name/last] for xml path ?結果:
<row>
? <name>
? ? <first>Hui</first>
? </name>
? <address>Chicago</address>
? <name>
? ? <last>Li</last>
? </name>
</row>


稱指定為通配符的列


select 'Hui' as [*],' ' as [*], 'Li' as [*] for xml path
select 'Hui',' ', 'Li' for xml path
上面兩個SQL語句運行結果同樣:
<row>Hui Li</row>
假設是XML類型,則作為一個子元素插入XML樹。
declare @table table(name varchar(50), xmlcontent xml)
insert into @table select 'Hui', '<root><person></person></root>'
select name,xmlcontent as [*] from @table for xml path
結果:
<row>
? <name>Hui</name>
? <root>
? ? <person />
? </root>
</row>


列名為 XPath 節點測試的列



列名

行為

text()

對于名為 text() 的列,該列中的字符串值將被加入為文本節點。

comment()

對于名為 comment() 的列,該列中的字符串值將被加入為 XML 凝視。

node()

對于名為 node() 的列,結果與列名為通配符 (*) 時同樣。

處理指令(名稱)

假設列名為處理指令,該列中的字符串值將被加入為此處理指令目標名稱的 PI 值。


演示樣例:
select 'Hui' as [first/text()],'Li' as [last/node()],'Hui Li' as [fullname/comment()],'test' as "processing-instruction(PI)" for xml path
結果:
<row>
? <first>Hui</first>
? <last>Li</last>
? <fullname>
? ? <!--Hui Li-->
? </fullname>
? <?PI test?>
</row>


帶有指定為 data() 的路徑的列名


假設被指定為列名的路徑為 data(),則在生成的 XML 中,該值將被作為一個原子值來處理。 假設序列化中的下一項也是一個原子值,則將向 XML 中加入一個空格字符。 這在創建列表類型化元素值和屬性值時非常實用。
with T
as
(
select 11 as id
union all
select 22
union all
select 33
)
select id as [data()] from T for xml path ('')
結果:
11 22 33
這里的('')能夠理解為把XML的根元素名稱設為空。

NULL值列


select 'hui' as [name],null as [address] for xml path
結果:
<row>
? <name>hui</name>
</row>
沒有不論什么相關address的內容,指定ELEMENTS XSINIL后:
select 'hui' as [name],null as [address] for xml path ,ELEMENTS XSINIL
結果:
<row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
? <name>hui</name>
? <address xsi:nil="true" />
</row>


PATH 模式中的命名空間支持


WITH XMLNAMESPACES(N'樂可樂可的部落格' as a)
SELECT 1 as 'a:b'
FOR XML PATH
結果:
<row xmlns:a="樂可樂可的部落格">
? <a:b>1</a:b>
</row>

總結


以上對指定EXPLICIT的XML查詢就介紹完了。到此為止,SQL SERVER中的 指定RAW,AUTO,EXPLICIT,PATH XML查詢就所有介紹完成。

  1. SQL SERVER中XML查詢:FOR XML指定RAW
  2. SQL SERVER中XML查詢:FOR XML指定AUTO
  3. SQL SERVER中XML查詢:FOR XML指定EXPLICIT
  4. SQL SERVER中XML查詢:FOR XML指定PATH
  5. 關于XML類型,請參考: http://blog.csdn.net/leewhoee/article/details/8571286
  6. 關于XML索引,請參考: http://blog.csdn.net/leewhoee/article/details/8579743



SQL SERVER中XML查詢:FOR XML指定PATH


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产精品久久久久国产A级 首页亚洲国产丝袜长腿综合 | 亚洲精品午夜国产va久久成人 | 久碰人澡人澡人澡人澡91 | 免费伊人网 | 亚洲网站在线观看 | 亚洲视频中文字幕 | 久草在线国产视频 | 色婷婷在线播放 | 人人看人人舔 | 亚婷婷洲AV久久蜜臀无码 | 亚洲欧美二区三区久本道 | 久色乳综合思思在线视频 | 激情六月丁香婷婷 | 99精品在线观看 | 逼逼网| 欧美精品观看 | 成人国产激情福利久久精品 | 欧美日韩视频 | 182tv在线观看国产路线一 | 日韩三级免费 | 亚洲欧美另类色妞网站 | 三级精品在线观看 | 日韩在线国产精品 | 欧美午夜精品一区二区蜜桃 | 性生潮久久久不久久久久 | www.日韩| 日韩一区二区三区视频 | 亚洲视频在线网 | 欧美性高清视频免费看www | 欧美精品99久久久久久人 | 久久视频这里只有精品35 | 日本成人中文字幕 | 五月天激情综合网 | 久久久久国产成人精品亚洲午夜 | 久久久精品网站 | 能看的av网站 | 美女扣下面流白浆丝袜 | 亚洲天堂网站 | 国产成人a | 国产三级在线视频播放线 | 国产小视频在线高清播放 |