sql – 检查存储在XML数据类型列中的集合中是否存在值
发布时间:2020-12-12 07:08:45 所属栏目:MsSql教程 来源:网络整理
导读:我有一个名为“tags”的 XML数据类型列. 在那,我正在存储一个集合,如下所示: ArrayOfString stringpersonal/string stringtravel/string stringgadgets/string stringparenting/string/ArrayOfString 我想选择所有具有我正在寻找的值的行:例如,我想选择表中
我有一个名为“tags”的
XML数据类型列.
在那,我正在存储一个集合,如下所示: <ArrayOfString> <string>personal</string> <string>travel</string> <string>gadgets</string> <string>parenting</string> </ArrayOfString> 我想选择所有具有我正在寻找的值的行:例如,我想选择表中具有“travel”标签的所有行. 我知道这是有效的,如果我知道我正在寻找的值的索引: select * from posts where tags.value('(/ArrayOfString/string)[1]','nvarchar(1000)') = 'travel' 但此查询仅在标记“travel”是节点中的第2项时有效.如何检查值是否存在,无论其位置如何? 解决方法select * from tags where tags.exist('/ArrayOfString/string[. = "travel"]') = 1 或者像这样,如果你想检查一个变量. declare @Val varchar(10) set @Val = 'travel' select * from tags where tags.exist('/ArrayOfString/string[. = sql:variable("@Val")]') = 1 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sqlserver2005发布与订阅配置步骤
- sql – PIVOT行返回到返回值超过1的列
- SQL中varchar和varchar2的区别
- 数据库 – 如何在Sequelize中使用findOrCreate
- 更改SQLSERVER2012排序规则
- 【整理】SqlServer查看表结构字段名/字段类型/字段描述/是否
- 浅谈sql连接查询的区别 inner,left,right,full
- ResultSet may only be accessed in a forward direction
- .net – 在transactionscope中打开sql连接很重要
- sql-server – 如何在SQL中创建REPLACE PATTERN?