列为XML的Sql的写法
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节点:
插入之前:
插入之后: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |