日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

转载---SQL Server XML基础学习2之--FOR XML AUTO/RAW

發(fā)布時間:2024/4/14 asp.net 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 转载---SQL Server XML基础学习2之--FOR XML AUTO/RAW 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文主要介紹FOR XML 的?AUTO 模式和 RAW 模式

?

?

--AUTO 模式將查詢結(jié)果以嵌套 XML 元素的方式返回。這不能較好地控制從查詢結(jié)果生成的 XML 的形式。

--如果要生成簡單的層次結(jié)構(gòu),AUTO 模式查詢很有用。
--但是,使用 EXPLICIT 模式和使用 PATH 模式在確定從查詢結(jié)果生成的 XML 的形式方面可提供更好的控制和更大的靈活性。


--> 測試數(shù)據(jù):#tb
IF OBJECT_ID('TEMPDB.DBO.#tb') IS NOT NULL?
? ?DROP TABLE #tb
GO?
CREATE TABLE #tb
? ? ? ?(
? ? ? ? [id] INT IDENTITY PRIMARY KEY ,
? ? ? ? [name] VARCHAR(4),
? ? ? ? [type] VARCHAR(10)
? ? ? ?)
INSERT ?#tb
? ? ? ? SELECT ?'彪' , '流氓'
? ? ? ? UNION ALL
? ? ? ? SELECT ?'阿紫' , '流氓'
? ? ? ? UNION ALL
? ? ? ? SELECT ?'小強' , '流氓'
? ? ? ? UNION ALL
? ? ? ? SELECT ?'光輝' , '臭流氓'
? ? ? ? UNION ALL
? ? ? ? SELECT ?'小D' , '臭流氓'
? ? ? ? UNION ALL
? ? ? ? SELECT ?'野子' , '臭流氓'
--------------開始查詢--------------------------
SELECT * FROM #tb FOR XML AUTO
/*
<_x0023_tb id="1" name="彪" type="流氓" />
<_x0023_tb id="2" name="阿紫" type="流氓" />
<_x0023_tb id="3" name="小強" type="流氓" />
<_x0023_tb id="4" name="光輝" type="臭流氓" />
<_x0023_tb id="5" name="小D" type="臭流氓" />
<_x0023_tb id="6" name="野子" type="臭流氓" />


*/
--ELEMENTS 選項,將返回以元素為中心的 XML。
SELECT * FROM #tb FOR XML AUTO,ELEMENTS
/*
<_x0023_tb>
? <id>1</id>
? <name>彪</name>
? <type>流氓</type>
</_x0023_tb>
<_x0023_tb>
? <id>2</id>
? <name>阿紫</name>
? <type>流氓</type>
</_x0023_tb>
<_x0023_tb>
? <id>3</id>
? <name>小強</name>
? <type>流氓</type>
</_x0023_tb>
<_x0023_tb>
? <id>4</id>
? <name>光輝</name>
? <type>臭流氓</type>
</_x0023_tb>
<_x0023_tb>
? <id>5</id>
? <name>小D</name>
? <type>臭流氓</type>
</_x0023_tb>
<_x0023_tb>
? <id>6</id>
? <name>野子</name>
? <type>臭流氓</type>
</_x0023_tb>
*/
=




--RAW 模式將查詢結(jié)果集中的每一行轉(zhuǎn)換為帶有通用標識符 <row> 或可能提供元素名稱的 XML 元素。
--默認情況下,行集中非 NULL 的每列值都將映射為 <row> 元素的一個屬性。
--如果將 ELEMENTS 指令添加到 FOR XML 子句,則每個列值都將映射到 <row> 元素的子元素。
--指定 ELEMENTS 指令之后,您還可以選擇性地指定 XSINIL 選項以將結(jié)果集中的 NULL 列值映射到具有 xsi:nil="true" 屬性的元素。




SELECT * FROM #tb FOR XML RAW?
/*
<row id="1" name="彪" type="流氓" />
<row id="2" name="阿紫" type="流氓" />
<row id="3" name="小強" type="流氓" />
<row id="4" name="光輝" type="臭流氓" />
<row id="5" name="小D" type="臭流氓" />
<row id="6" name="野子" type="臭流氓" />
*/
--使用 XMLDATA 和 XMLSCHEMA 選項作為結(jié)果請求架構(gòu)?
SELECT * FROM #tb FOR XML RAW, XMLDATA ;
--檢索二進制數(shù)據(jù)?


DECLARE @a VARBINARY(10)=0x78786F6F
SELECT @a AS 'VARBINARY' FOR XML RAW,BINARY BASE64
--結(jié)果為base64 編碼的二進制數(shù)據(jù)
/*
XML_F52E2B61-18A1-11d1-B105-00805F49916B
<row VARBINARY="eHhvbw=="/>
*/
--對于結(jié)果集中的每一行,RAW 模式都生成一個元素 <row>。
--您可以通過向 RAW 模式指定一個可選參數(shù)為該元素指定另一個名稱,如該查詢中所示。
SELECT * FROM #tb FOR XML RAW('流氓們')


--AUTO 模式和 RAW 模式都可以使用 ROOT , ELEMENTS XSINIL, TYPE 指令,這里就不一一列舉了

轉(zhuǎn)載于:https://www.cnblogs.com/Frank99/p/5974469.html

總結(jié)

以上是生活随笔為你收集整理的转载---SQL Server XML基础学习2之--FOR XML AUTO/RAW的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。