SQL SERVER 将XML变量转为JSON文本
作者:和尚洗头用飘柔 时间:2024-01-21 23:38:46
废话不多说了,直接给大家贴代码了。
-- 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,xml,json
0
投稿
猜你喜欢
13个超级有用的 jQuery 内容滚动插件和教程
2011-08-10 19:10:08
Python爬虫爬取商品失败处理方法
2021-04-11 11:26:31
python 子类调用父类的构造函数实例
2023-05-27 22:33:37
go语言使用第三方包 json化结构体操作示例
2024-02-19 22:51:43
MySQL如何修改账号的IP限制条件详解
2024-01-14 19:41:59
基于Python实现简单学生管理系统
2021-01-02 18:58:11
Python简单遍历字典及删除元素的方法
2021-12-31 08:57:51
Python: glob匹配文件的操作
2023-05-30 00:36:24
30个提高Web程序执行效率的好经验分享
2023-07-16 00:14:22
Golang底层原理解析String使用实例
2024-02-19 17:16:26
Oracle时间日期操作方法小结
2010-11-25 18:04:00
PHP易混淆知识整理笔记
2023-06-10 04:34:22
MySQL修改配置,区分大小写
2010-12-03 16:31:00
Golang中接收者方法语法糖的使用方法详解
2024-05-21 10:26:49
Git Submodule管理项目子模块的使用
2023-10-06 20:34:57
Python中使用tkFileDialog实现文件选择、保存和路径选择
2022-02-17 09:35:32
Python取出字典中的值的实现
2022-01-09 20:16:07
MySQL 序列 AUTO_INCREMENT详解及实例代码
2024-01-20 17:04:37
vue解决跨域路由冲突问题思路解析
2024-04-28 09:32:05
windows10系统中安装python3.x+scrapy教程
2022-06-03 22:27:48