SQL SERVER 数据导出JSON
执行下面的存储过程:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE[dbo].[SerializeJSON](
@ParameterSQL AS VARCHAR(MAX)
)
AS
BEGIN
DECLARE @SQL NVARCHAR(MAX)
DECLARE @XMLString VARCHAR(MAX)
DECLARE @XML XML
DECLARE @Paramlist NVARCHAR(1000)
SET @Paramlist = N
'@XML XML OUTPUT'
SET @SQL =
'WITH PrepareTable (XMLString)'
SET @SQL = @SQL +
'AS('
SET @SQL = @SQL + @ParameterSQL+
'FOR XML RAW,TYPE,ELEMENTS'
SET @SQL = @SQL +
')'
SET @SQL = @SQL +
'SELECT @XML=[XMLString]FROM[PrepareTable]'
EXEC sp_executesql @SQL, @Paramlist, @XML=@XML OUTPUT
SET @XMLString=CAST(@XML AS VARCHAR(MAX))
DECLARE @JSON VARCHAR(MAX)
DECLARE @Row VARCHAR(MAX)
DECLARE @RowStart INT
DECLARE @RowEnd INT
DECLARE @FieldStart INT
DECLARE @FieldEnd INT
DECLARE @KEY VARCHAR(MAX)
DECLARE @Value VARCHAR(MAX)
DECLARE @StartRoot VARCHAR(100);SET @StartRoot=
'<row>'
DECLARE @EndRoot VARCHAR(100);SET @EndRoot=
'</row>'
DECLARE @StartField VARCHAR(100);SET @StartField=
'<'
DECLARE @EndField VARCHAR(100);SET @EndField=
'>'
SET @RowStart=CharIndex(@StartRoot,@XMLString,0)
SET @JSON=
''
WHILE @RowStart>0
BEGIN
SET @RowStart=@RowStart+Len(@StartRoot)
SET @RowEnd=CharIndex(@EndRoot,@XMLString,@RowStart)
SET @Row=SubString(@XMLString,@RowStart,@RowEnd-@RowStart)
SET @JSON=@JSON+
'{'
-- for each row
SET @FieldStart=CharIndex(@StartField,@Row,0)
WHILE @FieldStart>0
BEGIN
-- parse node key
SET @FieldStart=@FieldStart+Len(@StartField)
SET @FieldEnd=CharIndex(@EndField,@Row,@FieldStart)
SET @KEY=SubString(@Row,@FieldStart,@FieldEnd-@FieldStart)
SET @JSON=@JSON+
'"'+@KEY+'":'
-- parse node value
SET @FieldStart=@FieldEnd+1
SET @FieldEnd=CharIndex(
'</',@Row,@FieldStart)
SET @Value=SubString(@Row,@FieldStart,@FieldEnd-@FieldStart)
SET @JSON=@JSON+
'"'+@Value+'",'
SET @FieldStart=@FieldStart+Len(@StartField)
SET @FieldEnd=CharIndex(@EndField,@Row,@FieldStart)
SET @FieldStart=CharIndex(@StartField,@Row,@FieldEnd)
END
IF LEN(@JSON)>0SET @JSON=SubString(@JSON,0,LEN(@JSON))
SET @JSON=@JSON+
'},'
--/ for each row
SET @RowStart=CharIndex(@StartRoot,@XMLString,@RowEnd)
END
IF LEN(@JSON)>0SET @JSON=SubString(@JSON,0,LEN(@JSON))
SET @JSON=
'['+@JSON+']'
SELECT @JSON
END
GO
转载于:https://www.cnblogs.com/hank-chen/p/5916929.html
SQL SERVER 数据导出JSON相关推荐
- SQL Server 中的 JSON 数据
下面是 JSON 文本的示例 [{ "name": "John", "skills": ["SQL", "C# ...
- sql azure 语法_使用Azure Data Studio从SQL Server数据创建图表
sql azure 语法 In this article, we will explore charts in an Azure Data Studio using data stored in SQ ...
- 将本地的MS SQL Server数据导入到远程服务器上
该演示引导客户将本地的MS SQL Server数据导入到远程服务器上,供客户的网站使用. 首先登录到远程数据库服务器: 1.右击您准备导入数据的数据库,选择"所有任务"下的&qu ...
- php实现sql server数据导入到mysql数据库_php实现SQL Server数据导入Mysql数据库(示例)...
php将mssql的数据导入到mysql数据库中,代码: 代码示例: //连接SQL server数据库 $conn=mssql_connect("localhost"," ...
- 实验10 SQL Server 数据备份/恢复
实验10 SQL Server 数据备份/恢复 一.实验目的 1.了解数据库备份的过程和属性设置: 2.掌握应用企业管理器备份和恢复数据库: 3.掌握应用T-SQL备份和恢复数据库: 4.掌握数据导入 ...
- SQL Server的导出导入方式有
SQL Server的导出导入方式有: 在SQL Server中提供了导入导出的界面操作. 在界面操作中又分[复制一个或多个表或视图的数据]和[编写查询以指定要传输的数据]两种模式,第一种是直接对表. ...
- Sql server 数据转到 Mysql 数据库
Sql server 数据转到 Mysql 数据库http://www.bieryun.com/3355.html 在网上找了一些方案,目前一个可行的较好的方案,虽然不够完美但也十分好用: 用到的用具 ...
- php实现sql server数据导入到mysql数据库_SQL Server数据库导入MySQL数据库的体验_MySQL...
SQL Server 因工作需要,要将存放在sql server数据库中的数据全部导入到mysql数据库中,在网上搜集相关资料,找到两种方法,现在分别谈谈对他们的看法. 第一种是安装mysql ODB ...
- 学习SQL:SQL Server数据透视表
In the previous few articles in this series, we've set the foundations on how to create a report. We ...
最新文章
- 微生物生态学中的挑战:建立对于群落功能与动态的预测性认识
- Java枚举enum以及应用:枚举实现单例模式
- verilog对YCrCb转换灰度设计及仿真
- ubuntu14安装python_ubuntu14.04 安装python3.7
- 前端学习(3143):react-hello-react之总结生命周期
- php后台管理员登录密码错误,如果后台管理员的密码错误,我该怎么办,还有两种找回密码的方法...
- c语言判断回文字符串递归,用递归实现判断一个字符串是否为回文串
- android都图片mat_普通Android码农,该如何逆袭月薪5W的移动端架构师?
- centos报acpi 错误解决方法实测有用
- 微价值:专訪个人开发人员800万用户之《系统清道夫》
- 微信小程序(一) 入门
- Android中Adapter之BaseAdapter使用
- chown、chgrp 更改文件属主属组
- ae效果英文版翻译对照表_AE中英文对照
- cloudflare_CloudFlare泄漏的消息揭晓,密码管理变得轻松
- hash冲突的解决方法
- 使用长时间运行作业的警报监控SQL代理
- 编写微信聊天机器人3《聊天精灵WeChatGenius》:使用Xposed来hook微信,找到微信进程。
- 4296. 【NOIP2015模拟11.2】有趣的有趣的家庭菜园
- Python3记录--个人常用函数及资源(持续更新)
热门文章
- 机器学习笔记(十一):支持向量机
- oracle数据库建表视频,Oracle数据库的创建表全
- 软件测试ipad电池,ipad2020电池有问题是真的吗
- linux多线程编程和linux 2.6下的nptl,Linux多線程編程和Linux 2.6下的NPTL
- php批量下载网络图片,php批量下载网页图片并替换路径为本地
- cuda默认函数与c++冲突_好程序员Python教程系列-第8讲:函数和模块
- Struts2.3接收post方式提交的表单参数的方式
- springboot3——Email
- Linux内核OOM机制的详细分析
- MachineLearning(11)-关联规则分析