select * from Bookmarkpoi where
poiid =31021 and BPCategoryIds.exist('//BPCategoryId[.=5]') = 1
该SQL语句的意思是从数据表Bookmarkpoi中查找数据,过滤条件是poiid列的值为31021,而且BPCategoryIds列(该列的内容是xml文本)中要存在BPCategoryId值为5的节点。
//的意思是查找所有的BPCategoryId节点,不管该节点处于哪一级。
update Bookmarkpoi set
BPCategoryIds.modify('delete (/BPCategoryIds/BPCategoryId[.=5])[1]')
where Poiid = 29786 and Userid = 73411
该SQL语句的意思是修改数据表中poiid为29786,userid是73411,而且BPCategoryIds列中有BPCategoryId值为5的节点的列,这样的列可能有多列,[1]的意思就是取所有记录中的第一个,.表示取当前节点,所以BPCategoryId[.=5]的意思就是看看所有子节点中是否有值为5的节点。
示例如下:
1.按节点值查询:
2.插入XML节点:
插入之前:
插入之后:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。