sqlserver中xml查询
DECLARE @DOC XML ='
<books>
<book category="C#">
<title language="en">C# in Depth</title>
<author>John Skeet</author>
<year>2010</year>
<price>62.30</price>
</book>
<book category="C#">
<title language="cn">Effective C#</title>
<author>Bill Wagner</author>
<year>2010</year>
<price>49.00</price>
</book>
<book category="MSSQL">
<title language="cn">SQL2008 技术内幕</title>
<author>Itzik Ben-Gan</author>
<year>2010</year>
<price>90.20</price>
</book>
<book category="javascipt">
<title language="cn">JavaScript权威指南</title>
<author>David Flanagan</author>
<year>2007</year>
<price>87.20</price>
</book>
</books>
';
--查询所有书籍的分类
SELECT
T.C.value('@category','VARCHAR(16)')
FROM @DOC.nodes('/books/book') AS T (C);
--查询所有C#书籍的名称,作者,价格,年份
WITH B AS
(
SELECT @DOC.query('//book[@category="C#"]') AS BookNode
)
SELECT
T.C.value('title[1]/@language','VARCHAR(32)') AS [language],
T.C.value('title[1]','VARCHAR(32)') AS title,
T.C.value('author[1]','VARCHAR(16)') AS author,
T.C.value('year[1]','INT') AS [year],
T.C.value('price[1]','DECIMAL(19,2)') AS price
FROM B
CROSS APPLY B.BookNode.nodes('/book') AS T (C);
--查询所有书籍的语言和名称
SELECT
T.C.value('@language[1]','varchar(56)') AS [Language],
T.C.value('.','VARCHAR(56)') AS TITLE
FROM @DOC.nodes('/books/book/title') AS T (C);
sqlserver中xml查询的更多相关文章
- SQL SERVER中XML查询:FOR XML指定PATH
SQL SERVER中XML查询:FOR XML指定PATH 前言 在SQL SERVER中,XML查询能够指定RAW,AUTO,EXPLICIT,PATH.本文用一些实例介绍SQL SERVER中指 ...
- sqlserver中怎么查询字段为空的记录
sqlserver中怎么查询字段为空的记录的两种方法: 详细介绍请查看全文:https://cnblogs.com/qianzf/ 原文博客的链接地址:https://cnblogs.com/qzf/
- SqlServer中的查询简单总结
一.sql语句的执行顺序 查询时数据库中使用最多的操作,一条sql语句的查询顺序是 1.from Tb1 [ join on ] 得到查询的数据源 2.where 对数据过滤(单条数据上过滤 ...
- SqlServer中循环查询结果集
); begin ; open c_test_main;--打开游标 --开始循环 begin fetch next from c_test_main into @id,@value; --赋值到变量 ...
- XML 在SQLServer中的使用
SQL Server对于XML支持的核心在于XML数据的格式,这种数据类型可以将XML的数据存储于数据库的对象中,比如variables, columns, and parameters.当你用XML ...
- SQLServer中查询的数字列前面补0返回指定长度的字符串
SQLServer中查询的数字列前面补0返回指定长度的字符串: 如: 角本如下: /****** Script for SelectTopNRows command from SSMS ******/ ...
- Oracle&SQLServer中实现跨库查询
一.在SQLServer中连接另一个SQLServer库数据 在SQL中,要想在本地库中查询另一个数据库中的数据表时,可以创建一个链接服务器: EXEC master.dbo.sp_addlinked ...
- hibernate mapping文件中 xmlns会导致linq to xml 查询不到对应的节点
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- XXXMapper.xml中嵌套查询
XXXMapper.xml中嵌套查询 <resultMap id="LiveUserNocticeMap" type="com.fxkj.common.vo.Liv ...
随机推荐
- 《selenium2 python 自动化测试实战》(12)——跳过验证码登录add_cookie
微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~
- Python 三元条件判断表达式(and or/if else)
参考: http://wangye.org/blog/archives/690/
- java.lang.NoSuchFieldError: TRACE
Exception in thread "main" java.lang.NoSuchFieldError: TRACE at org.jboss.logging.Log4j ...
- golang的beego框架开发时出现的问题纪录
golang的beego框架开发时出现的问题纪录1.数据库并发时问题:[ORM]2017/02/20 23:44:05 -[Queries/default] - [FAIL / db.Query / ...
- 用 Linux blkid 命令查找块设备详情
今天我们将会向你展示如何使用 lsblk 和 blkid 工具来查找关于块设备的信息,我们使用的是一台安装了 CentOS 7.0 的机器. lsblk lsblk 是一个 Linux 工具,它会显示 ...
- python-错误
错误 Exception happened during processing of request from ('10.0.0.120', 58083) Traceback (most recent ...
- linux性能监控——CPU、Memory、IO、Network
一.CPU 1.良好状态指标 CPU利用率:User Time <= 70%,System Time <= 35%,User Time + System Time <= 70%. 上 ...
- OkHttp使用方法
1.在app/build.gradle中添加依赖 compile 'com.squareup.okhttp3:okhttp:4.0.1' 2.创建OkHttpClient实例 OkHttpClient ...
- redisTemplate 方法
ClassPathXmlApplicationContext appCtx = new ClassPathXmlApplicationContext("spring-redis.xml&qu ...
- Maven和Gradle的比较
Gradle和Maven都是项目构建工具,但是完全是两个产品,maven应该目前在java企业级开发中占的比重比较大,Gradle是后起之秀,Google的Android Stadio主推的就是Gra ...