求XQuery的写法 100ki1381]

发布时间:2017-6-26 3:06:21 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"求XQuery的写法 100ki1381]",主要涉及到求XQuery的写法 100ki1381]方面的内容,对于求XQuery的写法 100ki1381]感兴趣的同学可以参考一下。

表T中有字段F(xml类型)和字段ID(数值型),现在有以下这么 几条记录,其中F字段的内容为: <ImageSize><Width>1491</Width><Height>738</Height></ImageSize> <ImageSize><Width>648</Width><Height>864</Height></ImageSize> <ImageSize><Width>768</Width><Height>1024</Height></ImageSize> <ImageSize><Width>682</Width><Height>1024</Height></ImageSize> 我想要实现如下功能: 1. 找出所有Width > 1200的ID 2. 找出所有Width > Height的ID 3. 找出所有Width / Height = 3:4或4:3的ID 4. 输出字段为 ID Width Height 这样的传统格式表 我xquery菜鸟一个,还请各位高手多多指教!另问,有什么比较适合零基础的xQuery方面的入门书或资料?MSDN虽然好但貌似还是更适合做手册。

没有安装SQL Server 2005,不过之前看过一些,其实就是XML的XPath查询而已。 XPath的一些例子: author[(degree or award) and publication]  All <author> elements that contain at least one <degree> or <award> and at least one <publication> as the children  author[degree and not(publication)]  All <author> elements that contain at least one <degree> element child and that contain no <publication> element children.  author[not(degree or award) and publication]  All <author> elements that contain at least one <publication> element child and contain neither <degree> nor <award> element children.  author[last-name = "Bob"] All <author> elements that contain at least one <last-name> element child with the value Bob. 

--  SQL SERVER 2005.创建测试表 create table T([ID] int,F xml) Go --  插入测试数据 insert T select 1,'<ImageSize><Width>1491</Width><Height>738</Height></ImageSize>' insert T select 2,'<ImageSize><Width>648</Width><Height>864</Height></ImageSize>' insert T select 3,'<ImageSize><Width>768</Width><Height>1024</Height></ImageSize>' insert T select 4,'<ImageSize><Width>682</Width><Height>1024</Height></ImageSize>' Go --1. 找出所有Width > 1200的ID select * from T where F.value('(/ImageSize/Width)[1]','int')>1200 --2.找出所有Width > Height的ID select * from T where F.value('(/ImageSize/Width)[1]','int')>F.value('(/ImageSize/Height)[1]','int') --3. 找出所有Width / Height = 3:4或4:3的ID select * from T where F.value('(/ImageSize/Width)[1]','int')/F.value('(/ImageSize/Height)[1]','int') in (3/4,4/3) --4.输出字段为 ID Width Height 这样的传统格式表 select [ID],        F.value('(/ImageSize/Width)[1]','int') as [Width],        F.value('(/ImageSize/Height)[1]','int') as [Height] from T

帮顶~~~~~

谢谢!

上一篇:php连接sqlserver2005不上? 20feixianxxx]
下一篇:SQL2005的在线分区表 谁做过??? 100分 100guanjm]

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。