将JSON插入SQL表

bsxbgnwa  于 2023-01-27  发布在  其他
关注(0)|答案(1)|浏览(142)

我有下面的SQL表1:
| 身份证|姓名|性别|年龄|乡村|野心|
| - ------|- ------|- ------|- ------|- ------|- ------|
| 1个|彼得|男性|二十个|意大利|博士|
| 第二章|安杰利|女性|三十|澳大利亚|律师|
我想像这样插入到另一个表中。输出:SQL表2
| 身份证|姓名|详细信息json|
| - ------|- ------|- ------|
| 1个|彼得|{“性别”:“男”,“年龄”:“20”,“国家”:“意大利”,“志向”:“博士”}|
| 第二章|安杰利|{“性别”:“女”,“年龄”:“30岁”,“国家”:“澳大利亚”,“志向”:“律师”}|
对于如何插入多条记录有什么建议吗?

w8ntj3qf

w8ntj3qf1#

对于所有版本,从SQL Server 2016开始,您可以使用FOR JSON PATH为每行生成JSON内容:

SELECT 
   id, name,
   details = (SELECT gender, age,  country, ambition FOR JSON PATH, WITHOUT_ARRAY_WRAPPER)
INTO NewTable
FROM OldTable

从SQL Server 2022开始,您可以使用JSON_OBJECT()

SELECT 
   id, name,
   details = JSON_OBJECT('gender': gender, 'age': age, 'country': country, 'ambition': ambition)
INTO NewTable
FROM OldTable

相关问题