SQL Server 2005 XML 操作总结(六)属性操作——查询操作
2011-03-07 11:07
603 查看
========一般查询========= --获得第一个book节点的category属性值 select @data.value('(/bookstore/book/@category)[1]', 'nvarchar(max)') /*output: COOKING */ --获取title的lang="en"且 price>35的第一book的(第一个)title的lang属性 select @data.value('((//book[@category="WEB" and price>35 ]/title)[1]/@lang)[1]','varchar(max)') /*output: en */ --获取第一本书的title select @data.value('(/bookstore/book[position()=1]/title)[1]','varchar(max)') /*output: Everyday Italian */ ========根据属性名称查询======== --获取第一个book节点的名为category的属性值 DECLARE @att VARCHAR(20) SELECT @att = 'category' select @data.value('(/bookstore/book/@*[local-name()=sql:variable("@att")])[1]','VARCHAR(20)') /*output: COOKING */========映射为表结构查询======== -获取每本书的第一个author select Tab.Col.value('author[1]','varchar(max)') as author from @data.nodes('//book')as Tab(Col) --获取所有book的所有信息 select T.C.value('title[1]','varchar(max)') as title, T.C.value('year[1]','int') as year, T.C.value('price[1]','float') as price, T.C.value('author[1]','varchar(max)') as author1, T.C.value('author[2]','varchar(max)') as author2, T.C.value('author[3]','varchar(max)') as author3, T.C.value('author[4]','varchar(max)') as author4 from @data.nodes('//book') as T(C) --获取不是日语(lang!="jp")且价格大于35的书的所有信息 select T.C.value('title[1]','varchar(max)') as title, T.C.value('year[1]','int') as year, T.C.value('price[1]','float') as price, T.C.value('author[1]','varchar(max)') as author1, T.C.value('author[2]','varchar(max)') as author2, T.C.value('author[3]','varchar(max)') as author3, T.C.value('author[4]','varchar(max)') as author4 from @data.nodes('//book[./title[@lang!="jp"] and price>35 ]') as T(C) ========模糊查询========= --查询第一个book节点的第一个属性值 SELECT @data.value('(/bookstore/book[1]/@*[position()=1])[1]','VARCHAR(20)') /*output: COOKING */ =========查询属性数量========= --查询第一个book节点的属性数量 SELECT @data.value('count(/bookstore/book[1]/@*)','INT') /*output: 1*/
相关文章推荐
- SQL Server 2005 XML 操作总结(六)属性操作——查询操作
- SQL Server 2005 XML 操作总结(七)属性操作——插入、修改操作
- SQL Server 2005 XML 操作总结(八)属性操作——删除、遍历操作
- SQL Server 2005 XML 操作总结(三)元素(节点)操作——查询操作
- SQL Server 2005 XML 操作总结(三)元素(节点)操作——查询操作
- SQL Server 2005 XML 操作总结(七)属性操作——插入、修改操作
- SQL Server 2005 XML 操作总结(八)属性操作——删除、遍历操作
- SQL Server 2005 XML 操作总结(四)元素(节点)操作——插入操作
- SQL Server 2005 XML 操作总结 1
- SQL Server 2005 XML 操作总结(五)元素(节点)操作——修改、删除、移动、遍历操作
- SQL Server 2005 XML 操作总结(二)示例
- SQL Server 2005 XML 操作总结(四)元素(节点)操作——插入操作
- SQL Server 2005 XML 操作总结(五)元素(节点)操作——修改、删除、移
- SQL Server 2005 XML 操作总结(一)入门
- SQL Server 2005 XML 操作总结(二)示例
- 在SQL Server 2005中连接Oracle,完成查询、插入操作
- 在SQL Server 2005中连接Oracle,完成查询、插入操作
- SQL Server 2005系列教学(6) 多表操作及子查询
- SQL Server 2005中XML操作函数开发方法
- Sql Server 2005/2008 SqlCacheDependency查询通知的使用总结