sql 数据拼接问题。

小辛、 2015-01-19 11:05:40
问题是这样的。 想把一张表的数据拼接成json形式的。有啥办法么?


"{\"name\":\"123\",\"sex\":\"1\"}" "{\"name\":\"321\",\"sex\":\"2\"}"


用c# 我是可以实现的。 但是sql下摸不到什么门路。 谁帮忙指点一下吧
...全文
107 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
还在加载中灬 2015-01-19
  • 打赏
  • 举报
回复
建议在程序上写,不然如果在程序上不想一一写列名的话,也还是要反射~~ 以下提供一个和上次一样的,动态执行
DECLARE @STR NVARCHAR(MAX)
SET @STR=''
SELECT @STR=@STR+'+''\"'+name+'\":\"''+CAST('+name+' AS VARCHAR)+''\"'''
FROM SYS.SYSCOLUMNS
WHERE id=OBJECT_ID('TB')
    --AND name NOT IN('','')--可以把不要的列名去掉
SET @STR='DECLARE @STR NVARCHAR(MAX);SELECT @STR=ISNULL(@STR+'' "{'',''"{'')+'+STUFF(@STR,1,1,'')+'+''}"'' FROM TB;SELECT @STR+''"'''
--PRINT @STR--以下动态执行
EXEC(@STR)
我想应该是要给JSON用的,建议你调整成数组
Tiger_Zhao 2015-01-19
  • 打赏
  • 举报
回复
这种需求肯定是用程序解决啊。用SQL实现不仅复杂,而且效率也不高。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧