[英]Read JSON data from CSV in Synapse Azure
我有一个带有一些列的 CSV,其中一个包含 JSON 内容。 我可以通过特殊处理查询这个 JSON 列吗?
下面的例子: ei
我的目标是运行查询( openrowset 文档)并获得与此类似的 output。
ID | 姓名 |
---|---|
0 | 瓦拉丽·斯特里克兰 |
1个 | 马修斯·哈里森 |
2个 | 塞西莉亚吉尔斯 |
我试图在我的环境中重现相同的内容。
我的示例数据:
以表格的形式转换嵌套Json
的列。 首先,我使用nvarchar(max)
创建了变量。 为其设置 select 查询值。
DECLARE @json nvarchar(max)
SET @json = (SELECT
TOP 100 *
FROM
OPENROWSET(
BULK 'https://dlsg2p.dfs.core.windows.net/fsn2p/jsoncolumn.csv',
FORMAT = 'CSV',
PARSER_VERSION = '2.0',
firstrow=3
) AS [result])
使用以下语句检查值是否已正确分配给变量。
select @json as JSON
使用 CROSS APPLY 将 Json 转换为表格格式:
SELECT b.id as ID ,b.name as Name
FROM
OPENJSON(@json)
WITH
(
friends NVARCHAR(MAX) AS JSON
) AS a
CROSS APPLY
OPENJSON(a.friends)
WITH
(
id INT,
name VARCHAR(MAX)
) AS b;
执行:
Output:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.