位置: 编程技术 - 正文

SQLServer XML查询快速入门(18句话)

编辑:rootadmin
sql xml 入门: --by jinjazz 1、xml: 能认识元素、属性和值 2、xpath: 寻址语言,类似windows目录的查找(没用过dir命令的话就去面壁) 语法格式,这些语法可以组合为条件: "."表示自己,".."表示父亲,"/"表示儿子,"//"表示后代, "name"表示按名字查找,"@name"表示按属性查找 "集合[条件]" 表示根据条件取集合的子集,条件可以是 数 值:数字,last(),last()-数字 等 布尔值:position()<数字,@name='条件',name='条件' 条件是布尔值的时候可以合并计算:and or 3、xquery: 基于xpath标的准查询语言,sqlserver xquery包含如下函数 exist(xpath条件):返回布尔值表示节点是否存在 query(xpath条件):返回由符合条件的节点组成的新的xml文档 value(xpath条件,数据类型):返回指定的标量值,xpath条件结果必须唯一 nodes(xpath条件): 返回由符合条件的节点组成的一行一列的结果表 */ declare @data xml set @data=' <bookstore> <book category="COOKING"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year></year> <price>.</price> </book> <book category="CHILDREN"> <title lang="jp">Harry Potter</title> <author>J K. Rowling</author> <year></year> <price>.</price> </book> <book category="WEB"> <title lang="en">XQuery Kick Start</title> <author>James McGovern</author> <author>Per Bothner</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year></year> <price>.</price> </book> <book category="WEB"> <title lang="cn">Learning XML</title> <author>Erik T. Ray</author> <year></year> <price>.</price> </book> </bookstore> ' --测试语句,如果不理解语法请参考上面的xpath规则和xquery函数说明 --1、文档 select @data --2、任意级别是否存在price节点 select @data.exist('//price') --3、获取所有book节点 select @data.query('//book') --4、获取所有包含lang属性的节点 select @data.query('//*[@lang]') --5、获取第一个book节点 select @data.query('//book[1]') --6、获取前两个book节点 select @data.query('//book[position()<=2]') --7、获取最后一个book节点 select @data.query('//book[last()]') --8、获取price>的所有book节点 select @data.query('//book[price>]') --9、获取category="WEB"的所有book节点 select @data.query('//book[@category="WEB"]') --、获取title的lang="en"的所有book节点 select @data.query('//book/title[@lang="en"]') --、获取title的lang="en"且 price>的所有book节点 select @data.query('//book[./title[@lang="en"] or price> ]') --、获取title的lang="en"且 price>的第一book的(第一个)title select @data.query('//book[./title[@lang="en"] and price> ]').value('(book/title)[1]','varchar(max)') --、等价于 select @data.value('(//book[./title[@lang="en"] and price> ]/title)[1]','varchar(max)') --、获取title的lang="en"且 price>的第一book的(第一个)title的lang属性 select @data.value('((//book[@category="WEB" and price> ]/title)[1]/@lang)[1]','varchar(max)') --、获取第一本书的title select Tab.Col.value('(book/title)[1]','varchar(max)') as title from @data.nodes('bookstore')as Tab(Col) --、获取每本书的第一个author select Tab.Col.value('author[1]','varchar(max)') as title 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('title[1]','varchar(max)')as title, 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")且价格大于的书的所有信息 select T.C.value('title[1]','varchar(max)') as title, T.C.value('year[1]','int') as year, T.C.value('title[1]','varchar(max)')as title, 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> ]') as T(C)

推荐整理分享SQLServer XML查询快速入门(18句话),希望有所帮助,仅作参考,欢迎阅读内容。

SQLServer XML查询快速入门(18句话)

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

被遗忘的SQLServer比较运算符谓词 官方的参考文档

SQLServer中求两个字符串的交集 使用javascript的数组来计算,代码如下:usetempdbgoif(object_id('fn_getArray')isnotnull)dropfunctiondbo.fn_getArraygocreatefunctionfn_getArray(@inStr1varchar(),@inStr2varchar())ret

SQL Server 触发器 表的特定字段更新时,触发Update触发器 createtriggerTR_MasterTable_UpdateonMasterTableafterupdateasifupdate([Type])--当Type字段被更新时,才会触发此触发器insertintoMasterLogTableselectId,(Case[Type]when1then'Type1'when2then'

标签: SQLServer XML查询快速入门(18句话)

本文链接地址:https://www.jiuchutong.com/biancheng/349433.html 转载请保留说明!

上一篇:从每个分类选择10条记录的sql语句(按不同要求分类)

下一篇:被遗忘的SQLServer比较运算符谓词(被遗忘的战役)

  • 环境保护税的应税污染物有哪些
  • 允许抵扣的进项税额分为哪几种情况
  • 财产租赁合同金额含税吗
  • 两个金税盘能用一个系统
  • 拆迁补偿费返还政策
  • 长期待摊费用可以转入固定资产吗
  • 税控服务费属于什么费用
  • 会计录入凭证怎么录入
  • 无形资产摊销怎么计算
  • 持有至到期投资在资产负债表怎么填
  • 加工成本属于什么会计科目
  • 年金计算个税需要扣除吗
  • 个人股东无偿借款给企业
  • 税号变更需要变更什么
  • 技术开发费加计扣除优惠政策
  • 物业公司营改增税务筹划方案
  • 税务局领普通发票需要多少钱
  • 2016年营改增后购买氧气乙炔税率是多少
  • 旅行社差额征税增值税申报表怎么填
  • 金税四期进展
  • 一般纳税人认定标准500万是什么时候开始执行
  • 建筑装饰行业税负
  • 公司购买电视
  • 科目编码首位与分类编号不符,接受此编码吗
  • 代理运输协议范本
  • 1697510217
  • 固定资产弃置费怎么算
  • w11怎么更新
  • 计提个人社保会计分录实操
  • 收取的开票税点放哪个科目
  • 新笔记本怎么激活windows11
  • 结转已售材料成本600元会计分录
  • windows10轻松使用是什么
  • 临时 文件夹
  • WIN7系统如何共享打印机
  • 运输取得的收入
  • 销售退回的会计分录金额
  • 企业应该从哪些方面把握消费者行为的关键点
  • 再就业优惠怎么办理
  • 支付宝提现到对公账户怎么做账
  • 最近爆火的抖音神曲
  • php access_token
  • 根据银行回单做流水账单
  • 企业所得税品目应纳税所得额未申报
  • mongodb $sum
  • 罚款收入算是营收收入吗
  • 资产损失税前扣除最新政策2021
  • 保证金存款账户需要销户吗
  • 私车公用私车的区别在哪
  • 年终奖金个人所得
  • 企业每月利润多少合适
  • 向银行按揭贷款时,收入流水不够怎么办?
  • 个人独资企业个体工商户的区别
  • 银行汇票哪个科目
  • sql server 2005数据备份
  • delete from 表名 where
  • 将Reporting services的RDL文件拷贝到另外一台机器时报Data at the root level is invalid的解决方法
  • 在windows中打开一个窗口后
  • xp 跳过 chkdsk
  • ubuntu 16:9
  • centos6.10内核版本
  • cyb2k.exe是安全进程吗 cyb2k进程危险吗
  • linux chkdsk
  • info.exe是什么病毒
  • explore.exe是什么意思
  • 更换主板也不用换硅脂吗
  • fssm32.exe是什么进程 有什么作用 fssm32进程查询
  • linux root用户登陆
  • win10升级最新版
  • opengl 画线
  • perl语言基本命令
  • unity转盘游戏
  • ssh远程执行命令返回结果存成本地变量
  • jQuery EasyUI Tab 选项卡问题小结
  • 新能源汽车车船税
  • 广东省电子税务局官网登录入口
  • 金银首饰以旧换新业务按销售方实际
  • 增值税税控开票软件
  • 代理记账报税违法吗
  • 地税服务费算什么科目
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设