从json中选择键值对作为Snowflake中的行



假设我有以下JSON:

{
"CURRENCY_CODE": "INR",
"CURRENCY_NAME": "Indian Rupee",
"ID_CURRENCY": 8,
"ISO_CODE": 4217
}

我想在Snowflake中查询它,所以我得到以下输出:

货币代码INR
CURRENCY_NAME印度卢比
ID_CURRENCY8
ISO_CODE4217

可以将参数直接传递到FLATTEN:

SELECT f.*
FROM TABLE(FLATTEN(INPUT => PARSE_JSON('<here goes json>'))) f;

您可以在FROM子句中使用LATERAL FLATTEN()来实现这一点。

例如:

SELECT fdt.KEY, fdt.VALUE
FROM VALUES('{
"CURRENCY_CODE": "INR",
"CURRENCY_NAME": "Indian Rupee",
"ID_CURRENCY": 8,
"ISO_CODE": 4217
}') dt
,lateral flatten( input => parse_json(column1) ) fdt;
KEYVALUE
货币代码INR
CURRENCY_NAME印度卢比
ID_CURRENCY8
ISO_CODE4217

最新更新