SQL SERVER 將XML變量轉(zhuǎn)為JSON文本
更新時間:2016年03月06日 16:46:22 作者:和尚洗頭用飄柔
這篇文章主要介紹了SQL SERVER 將XML變量轉(zhuǎn)為JSON文本的相關(guān)資料,需要的朋友可以參考下
廢話不多說了,直接給大家貼代碼了。
-- 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"}
相關(guān)文章
sql?server多行數(shù)據(jù)合并一行顯示簡單實現(xiàn)代碼
有時候我們需要將多行數(shù)據(jù)按照某一列進行合并,以便更方便地進行數(shù)據(jù)分析和處理,這篇文章主要給大家介紹了關(guān)于sql?server多行數(shù)據(jù)合并一行顯示簡單實現(xiàn)的相關(guān)資料,需要的朋友可以參考下2023-12-12
sqlserver循環(huán)刪除表中的數(shù)據(jù)最好方案
這篇文章主要介紹了sqlserver?中?循環(huán)刪除表中的數(shù)據(jù),這樣不會鎖表,導(dǎo)致業(yè)務(wù)出現(xiàn)問題,本文給大家分享最新解決方案,文中給大家補充介紹了foreach 循環(huán)中刪除一條數(shù)據(jù)_SQL Server中刪除重復(fù)數(shù)據(jù)的幾個方法,需要的朋友可以參考下2023-11-11
SQLserver 數(shù)據(jù)庫危險存儲過程刪除與恢復(fù)方法
SQLserver 數(shù)據(jù)庫危險存儲過程刪除與恢復(fù)方法,有時候是為了安全,也為了以后使用方便2011-09-09
SQL Server存儲過程同時返回分頁結(jié)果集和總數(shù)
這篇文章主要為大家詳細介紹了SQL Server存儲過程同時返回分頁結(jié)果集和總數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01
安裝sql server 2008 management提示已安裝 SQL Server 2005 Express的解決
SQL Server 2005 Express 工具不是sql server 2005 management,不用卸載sql server 2005 management,用一個小技巧就行2013-07-07

