SQL SERVER 將XML變量轉(zhuǎn)為JSON文本
更新時(shí)間: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)文章
sqlserver replace函數(shù) 批量替換數(shù)據(jù)庫中指定字段內(nèi)指定字符串參考方法
SQL Server有 replace函數(shù),可以直接使用;Access數(shù)據(jù)庫的replace函數(shù)只能在Access環(huán)境下用,不能用在Jet SQL中,所以對(duì)ASP沒用,在ASP中調(diào)用該函數(shù)會(huì)提示錯(cuò)誤.2010-05-05
Spark SQL數(shù)據(jù)加載和保存實(shí)例講解
這篇文章主要以實(shí)例講解的方式為大家詳細(xì)介紹了Spark SQL數(shù)據(jù)加載和保存的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11
修復(fù)SQL Server數(shù)據(jù)庫中的恢復(fù)掛起狀態(tài)的方法總結(jié)
SQL 服務(wù)器恢復(fù)掛起可能是因?yàn)樵诮馕鰯?shù)據(jù)庫中的某些事務(wù)期間系統(tǒng)關(guān)閉不當(dāng),在本文中,將向你提供各種方法來修復(fù) SQL Server 數(shù)據(jù)庫中的恢復(fù)掛起狀態(tài),需要的朋友可以參考下2024-03-03
教你恢復(fù)SQLSERVER的master系統(tǒng)庫的方法
這篇文章主要介紹了恢復(fù)SQLSERVER的master系統(tǒng)庫,本文介紹可能需要恢復(fù)master數(shù)據(jù)庫的情況以及如何正確完成這些步驟,需要的朋友可以參考下2022-09-09
SQL?Server數(shù)據(jù)庫變成單個(gè)用戶如何解決
本文主要介紹了SQL?Server數(shù)據(jù)庫變成單個(gè)用戶如何解決,文中圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11
關(guān)于SQL 存儲(chǔ)過程入門基礎(chǔ)(流程控制)
本篇文章,小編為大家介紹關(guān)于SQL 存儲(chǔ)過程入門基礎(chǔ)(流程控制),有需要的可以參考一下2013-04-04
sqlserver連接錯(cuò)誤之SQL評(píng)估期已過的問題解決
很久沒用sqlserver了,現(xiàn)在出現(xiàn)評(píng)估期已過的問題,本文就介紹一下sqlserver連接錯(cuò)誤之SQL評(píng)估期已過的問題解決,文中根據(jù)圖文詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03

