Sql Server 取xml中节点值(传参)
2023-09-11 14:21:21 时间
前一章已经讲了一些关于xml取值的方法
这次讲一下,关于xml.value()方法中传参。
如果直接拼接 @data.value('xxxx'+@fieldValue+'xxxx','varchar(max)')
报错:XML 数据类型方法 "value" 的参数 1 必须是字符串文字
正确方式:
sql:variable("参数")
举例
-- 测试数据 declare @data xml set @data='<sourceCode> <rules> <rule code="InvalidCode" enabled="true"> <details> <codeDescriptionList> <codeDescription code="JC" description="JOYCE" /> <codeDescription code="SW" description="SEAN" /> <codeDescription code="JLA" description="JUNO" /> <codeDescription code="GW1" description="GEENA" /> </codeDescriptionList> </details> </rule> <rule code="CreateEvent" enabled="false"> <details> <CreateEventRuleCode>Z00</CreateEventRuleCode> </details> </rule> <rule code="DateTimeFormat" enabled="false"> <details> <format>Short</format> </details> </rule> <rule code="CheckEntered" enabled="false"> <details /> </rule> </rules> </sourceCode>' -- 测试传参 declare @fieldValue varchar(100)='JC' -- 查询语句 select @data.value('((//rules/rule/details/codeDescriptionList/codeDescription[@code=sql:variable("@fieldValue")])[1]/@description)[1]','varchar(max)')
相关文章
- 报错:MySQL Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
- Sql Server中改变表中的字段名的语句!(不是教程胜似教程,是示例代码)
- tomcat启动提示server.xml的context节点中不支持source属性警告的解决方法
- Xamarin基础命名空间Microsoft.SqlServer.Server
- 《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——2.15 创建触发器
- SQL Server数据库基础知识汇总
- sql server 小技巧(4) Sql server 排序时让空值排在最后
- sql server 小技巧(3) SQL Server 2012 数据库完整导出到SQL Azure (包括数据)
- sql:SQL Server metadata queries
- eclipse在server中tomcat server找不到的问题
- sql server 数据分析优化实战(一)——SQL语句优化
- Sql Server 优化----SQL语句的执行方式与锁以及阻塞的关系
- 【bat】sql server在多台服务器上执行SQL脚本
- (4.61)sql server执行SQL遇到错误不中断
- SQL Server SSPI handshake failed报错,sql server修改windows账户密码的影响,sql server订阅发布客户端访问一直报错
- 【sql server压测】sql server使用Diskspd测试SQL Server IO存储
- (4.52)解决sql server动态SQL中对表字段操作时需要频繁 ISNULL的问题
- sql server作业报错:从ICassFactory为CLSID为{17BCA6E8-A950-497E-B2F9-AF6AA475916F}的COM组件创建实例失败,原因是出现以下错误:c001f011.(Microsoft.Server.manageDTS)
- 【sql server复制】教你使用SQL SERVER复制
- Sql Server 取xml中节点值
- SQL Server中用Case When Then多条件判断sql