[2 [2
SQL Server允許將XML數據存儲在定義為XML數據類型的列中。 從這些列中檢索特定數據需要專門查詢。
假設您有一個帶有此結構的XML列,名為“角色”:
找到包含特定角色的行,使用此查詢:
選擇 角色 從 Mytable 在哪裡 roles.value('(/root/remo)[1]','varchar(max)')類似於'stringTosearchfor'這使用
roles.value
提取第一個Alpha Beta Gamma
轉換。
查詢還可以針對XML屬性。 例如,在“數據”列中使用此XML:
SELECT
Roles
FROM
MyTable
WHERE
Roles.value('(/root/role)[1]', 'varchar(max)') LIKE 'StringToSearchFor'
獲取行,其中 codesystem
選擇
[數據]
從
[dbo]。 [Codesystemcodes_data]
在哪裡
cast([data] as xml).value('(/utilities.codesystems.codesystemcodes/@codesystem)[1]','varchar(max)')='2'
有關T-SQL中更高級的XML查詢
使用t-sql
另外, cross apply
提供了更大的靈活性,用於搜索多個“角色”元素:
此方法允許從SQL Server中的XML列更有效地提取數據。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3