SQL Server中怎么将查询结果转换为Json格式
这篇文章主要讲解了“SQL Server中怎么将查询结果转换为Json格式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL Server中怎么将查询结果转换为Json格式”吧!
复制代码 代码如下:
SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEPROCEDURE[dbo].[SerializeJSON](@ParameterSQLASVARCHAR(MAX))ASBEGINDECLARE@SQLNVARCHAR(MAX)DECLARE@XMLStringVARCHAR(MAX)DECLARE@XMLXMLDECLARE@ParamlistNVARCHAR(1000)SET@Paramlist=N'@XMLXMLOUTPUT'SET@SQL='WITHPrepareTable(XMLString)'SET@SQL=@SQL+'AS('SET@SQL=@SQL+@ParameterSQL+'FORXMLRAW,TYPE,ELEMENTS'SET@SQL=@SQL+')'SET@SQL=@SQL+'SELECT@XML=[XMLString]FROM[PrepareTable]'EXECsp_executesql@SQL,@Paramlist,@XML=@XMLOUTPUTSET@XMLString=CAST(@XMLASVARCHAR(MAX))DECLARE@JSONVARCHAR(MAX)DECLARE@RowVARCHAR(MAX)DECLARE@RowStartINTDECLARE@RowEndINTDECLARE@FieldStartINTDECLARE@FieldEndINTDECLARE@KEYVARCHAR(MAX)DECLARE@ValueVARCHAR(MAX)DECLARE@StartRootVARCHAR(100);SET@StartRoot='<row>'DECLARE@EndRootVARCHAR(100);SET@EndRoot='</row>'DECLARE@StartFieldVARCHAR(100);SET@StartField='<'DECLARE@EndFieldVARCHAR(100);SET@EndField='>'SET@RowStart=CharIndex(@StartRoot,@XMLString,0)SET@JSON=''WHILE@RowStart>0BEGINSET@RowStart=@RowStart+Len(@StartRoot)SET@RowEnd=CharIndex(@EndRoot,@XMLString,@RowStart)SET@Row=SubString(@XMLString,@RowStart,@RowEnd-@RowStart)SET@JSON=@JSON+'{'--foreachrowSET@FieldStart=CharIndex(@StartField,@Row,0)WHILE@FieldStart>0BEGIN--parsenodekeySET@FieldStart=@FieldStart+Len(@StartField)SET@FieldEnd=CharIndex(@EndField,@Row,@FieldStart)SET@KEY=SubString(@Row,@FieldStart,@FieldEnd-@FieldStart)SET@JSON=@JSON+'"'+@KEY+'":'--parsenodevalueSET@FieldStart=@FieldEnd+1SET@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)ENDIFLEN(@JSON)>0SET@JSON=SubString(@JSON,0,LEN(@JSON))SET@JSON=@JSON+'},'--/foreachrowSET@RowStart=CharIndex(@StartRoot,@XMLString,@RowEnd)ENDIFLEN(@JSON)>0SET@JSON=SubString(@JSON,0,LEN(@JSON))SET@JSON='['+@JSON+']'SELECT@JSONENDGO
复制代码 代码如下:
EXEC[SerializeJSON]'SELECT*FROM[Employee_TBL]'
感谢各位的阅读,以上就是“SQL Server中怎么将查询结果转换为Json格式”的内容了,经过本文的学习后,相信大家对SQL Server中怎么将查询结果转换为Json格式这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。