SQL SERVER 将XML变量转为JSON文本
更新时间:2016年03月06日 16:46:22 作者:和尚洗头用飘柔
这篇文章主要介绍了SQL SERVER 将XML变量转为JSON文本的相关资料,需要的朋友可以参考下
废话不多说了,直接给大家贴代码了。
-- create function create function [dbo].[fnXmlToJson] (@XmlData xml) returns nvarchar(max) as begin return (select stuff( (select * from (select ',{'+ stuff( (select ',"'+ coalesce(b.c.value('local-name(.)', 'NVARCHAR(MAX)'),'')+'":"'+ b.c.value('text()[]','NVARCHAR(MAX)') +'"' from x.a.nodes('*') b(c) for xml path(''),type).value('(./text())[]','NVARCHAR(MAX)'),,,'') +'}' from @XmlData.nodes('/root/*') x(a)) JSON(theLine) for xml path(''),type).value('.','NVARCHAR(MAX)' ) ,,,'')); end; go -- test table and data create table [dbo].[PivotExample] ( [Country] [nvarchar]() null ,[Year] [smallint] not null ,[SalesAmount] [money] null ) on [PRIMARY]; insert into [dbo].[PivotExample]values('Australia', , .); insert into [dbo].[PivotExample]values('Germany', , .); insert into [dbo].[PivotExample]values('United States', , .); insert into [dbo].[PivotExample]values('France', , .); declare @xml xml; set @xml=(select top * from [dbo].[PivotExample] for xml path, root); select dbo.fnXmlToJson(@xml); --return string {"Country":"Australia","Year":"","SalesAmount":"."}, {"Country":"Germany","Year":"","SalesAmount":"."}, {"Country":"United States","Year":"","SalesAmount":"."}, {"Country":"France","Year":"2008","SalesAmount":"922179.0400"}
相关文章
SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式
这篇文章主要介绍了SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式,需要的朋友可以参考下2018-10-10附加到SQL2012的数据库就不能再附加到低于SQL2012的数据库版本的解决方法
这篇文章主要介绍了附加到SQL2012的数据库就不能再附加到低于SQL2012的数据库版本的解决方法,需要的朋友可以参考下2014-02-02DataGrip 格式化SQL的实现方法(自定义Sql格式化)
DataGrip 是 JetBrains 发布的多引擎数据库环境,本文主要介绍了如何自定义Sql格式化风格,具有一定的参考价值,感兴趣的可以了解一下2021-09-09sql not in 与not exists使用中的细微差别
用的时候我们只注重查询的效率,但却往往会忽略一下比较细小的区别2013-02-02insert into select和select into的使用和区别介绍
insert into ... select 和 select ... into的使用上有哪些区别呢?在本文将为大家下详细介绍下,不知道的朋友可以了解下2013-09-09
最新评论