代码改变世界

SQL XML的exist操作

  Eric.Hu  阅读(495)  评论(0编辑  收藏  举报


 --创建测试数据库

复制代码
CREATE DATABASE mytest;
GO

USE mytest;
GO

--创建测试表
CREATE TABLE Users
(
    ID 
INT IDENTITY(1,1),
    UserInfo XML

)

/*****************XML 的 Exist 操作*****************************/    
     
    
---插入测试数据
    DECLARE @xml XML
    
SET @xml='<root>
    <user id="1">
        <userid>001</userid>
        <userName>test1</userName>
        <userName>test2</userName>
    </user>
    <user id="2">
        <userid>002</userid>
        <userName>test1</userName>
        <userName>test2</userName>
    </user>
    </root>
'
    
INSERT INTO Users(UserInfo)VALUES(@xml)
 

--delete Users
--
查询出存在userid=001 的XML,'True' 也可以是1
select * from Users where UserInfo.exist('/root/user[userid="001"]')='True'


--查询出存在user id=1 的XML
select * from Users where UserInfo.exist('/root/user[@id=1]')='True' 

--查询存在userid 节点的XML
select * from Users where UserInfo.exist('/root/user[userid]')='True'

 
--查询不存在userid 节点的XML
select * from Users where UserInfo.exist('/root/user[not(userid)]')='True'
复制代码

 

 

 

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
点击右上角即可分享
微信分享提示