[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