好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 關于SQLServer2005的學習筆記 XML的處理

關于SQLServer2005的學習筆記 XML的處理

熱門標簽:江西穩定外呼系統供應商 智能電銷機器人教育 奧維地圖標注字體大小修改 高德地圖標注電話怎么沒了 孝感銷售電銷機器人廠家 電話機器人錄音師薪資 無錫梁溪公司怎樣申請400電話 中國地圖標注省份用什么符號 北京智能外呼系統供應商家
關于 xml ,難以理解的不是 SQLServer 提供的函數,而是對 xml 本身的理解,看似很簡單的文件格式,處理起來卻是非常困難的。本文只是初探一下而已。
詳見 SQLServer 聯機幫助:
主題
說明
query() 方法( xml 數據類型)
此方法用于對 XML 實例進行查詢。
value() 方法( xml 數據類型)
此方法用于從 XML 實例檢索 SQL 類型的值。
exist() 方法( xml 數據類型)
此方法用于確定查詢是否返回非空結果。
modify() 方法( xml 數據類型)
此方法用于指定 XML DML 語句以執行更新。
nodes() 方法( xml 數據類型)
此方法用于將 XML 拆分成多行以將 XML 文檔的組成部分傳播到行集中。

閑話少說,首先創建一個包含 xml 類型的數據表,其次創建一個 xml 文件,在服務端把 xml 文件內容加載該數據表中。
復制代碼 代碼如下:

CREATE TABLE VisioXML
(
ID INT,
Doc XML
);
GO

創建一個名為 xxx.xml 的文件,內容如下
/*
ROOT>
ROW>
ID>1/ID>
NAME SEX="MALE">WBQ/NAME>
/ROW>
ROW>
ID>2/ID>
NAME SEX="FEMALE">CZH/NAME>
/ROW>
/ROOT>
*/
INSERT INTO VisioXML(ID,Doc)
SELECT 4,* FROM OPENROWSET(BULK 'e:\xxx.xml',SINGLE_BLOB) AS x;

-- 以下為 value() 和 query() 的用法
--SELECT * FROM VisioXML WHERE ID=4
復制代碼 代碼如下:

SELECT
Doc.value('(/ROOT/ROW[1]/ID/text())[1]','int') RootRowID1, -- 第一行 ID 的值,并且轉換為 int 類型
Doc.value('(/ROOT/ROW[2]/ID/text())[1]','int') RootRowID2, -- 第二行 ID 的值,并且轉換為 int 類型
Doc.value('(/ROOT/ROW[1]/NAME/text())[1]','varchar(20)') RootRowNAME1, -- 第一行 NAME 的值,并且轉換為 VARCHAR 類型
Doc.value('(/ROOT/ROW[1]/NAME/@SEX)[1]','varchar(20)') RootRowNAME1SEX, -- 第一行 NAME 中 SEX 屬性的值,并且轉換為 VARCHAR 類型
Doc.query('/ROOT') Root, --ROOT 下的所有 XML 內容,類型為 XML
Doc.query('/ROOT/ROW[1]') RootRow1, --ROOT 下第一行所有的 XML 內容,類型為 XML
Doc.query('/ROOT/ROW[2]') RootRow2 --ROOT 下第二行所有的 XML 內容,類型為 XML
FROM VisioXML
WHERE ID=4

-- 以下為 exist() 函數在兩種環境下的用法
復制代碼 代碼如下:

SELECT
Doc.exist('/ROOT/ROW[1]/NAME[(@SEX cast as xs:string?) = xs:string("MALE")]') Row1EQStringMale,
Doc.exist('/ROOT/ROW[1]/NAME[(@SEX cast as xs:string?) = "MALE"]') Row1EQMale,
Doc.exist('/ROOT/ROW[1]/ID[(text()[1] cast as xs:float?) = xs:float(1)]') Row1EQfloat1,
Doc.exist('/ROOT/ROW[2]/ID[(text()[1] cast as xs:float?) = 2]') Row1EQ1
FROM VisioXML
WHERE ID=4

復制代碼 代碼如下:

SELECT ID,Doc
FROM VisioXML
WHERE ID=4
AND Doc.exist('/ROOT/ROW[1]/NAME[(@SEX)]')=1 -- 第一行 NAME 中存在 SEX 屬性
--AND Doc.exist('/ROOT/ROW[1]/NAME[not(@SEX)]')=1 -- 第一行 NAME 中不存在 SEX 屬性
--AND Doc.exist('/ROOT/ROW[1][not(ID/*)]')=1 -- 第一行不存在 ID 字段
--AND Doc.exist('/ROOT/ROW[1][(ID/*)]')=1 -- 第一行存在 ID 字段

標簽:齊齊哈爾 臨滄 海北 阜陽 荊州 那曲 泰州 通化

巨人網絡通訊聲明:本文標題《關于SQLServer2005的學習筆記 XML的處理》,本文關鍵詞  關于,SQLServer2005,的,學習,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《關于SQLServer2005的學習筆記 XML的處理》相關的同類信息!
  • 本頁收集關于關于SQLServer2005的學習筆記 XML的處理的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 欧美色视频日本片免费| a爱爱视频| 国产极品喷水视频jk制服| 国产精品偷伦视频免费最新章节| 欧美最粗又大黑人XXOO| 免费三级黄色电影| 在车内揉搓她的双乳免费视频| 狠狠色婷婷久久一区二区三区性色| 啊轻点灬大ji巴太粗太高h| 天天干夜夜爽| 日韩美女福利视频| 狠狠躁夜夜躁人爽碰88A| 天天射美女| 国产白浆视频在线播放| 亚欧人成精品免费观看| 色婷婷一区二区三区在线播放| 99riAv1国产精品视频| 调教play小说| 成年黄大片| 被男人吃奶和跟添下面特别爽 | 亚洲国产网址| cd 直男 服务| 无夜精品久久久久久| japanesexxxxfreetube8| 欧美爽爽| 中文字幕 无码一区二区三区| 天天看片天天射| 欧区一欧区二欧区三史无前例| 欧美在线视频一区| Chinese hottie大尺度| 18_XXXXXL56HGl| 国产三级精品三级-高清国| 美女被的在线网站91| 一个人看的www动漫图片| 国产男女猛烈无遮档免费视频网站| 91亚洲一线产区二线产区| 成人精品无码亚洲欧美一区仙踪林| 凯西顺从的女孩| 春天韩国完整版在线观看| 好爽快点深一点视频视频| 18?精品?爽爽国产在线观右手|