簡體   English   中英

如何在雪花中展平json? sql

[英]How to flatten a json in snowflake? sql

我有一個表“table_1”,其中有一列名為“Value”,它只有一個條目。 列中的條目是一個 json,看起來像

{
  "c1": "A",
  "c10": "B",
  "c100": "C",
  "c101": "D",
  "c102": "E",
  "c103": "F",
  "c104": "G",
.......
}

我只想將此 json 分成兩列,其中一列包含鍵(c1、c10 等),第二列包含該鍵的關聯值(A、B 等)。 有沒有辦法我可以做到這一點? 我的 json 中有大約 125 個鍵

可以使用 FLATTEN 函數來實現它:

CREATE OR REPLACE TABLE tab
AS
SELECT PARSE_JSON('{
  "c1": "A",
  "c10": "B",
  "c100": "C",
  "c101": "D",
  "c102": "E",
  "c103": "F",
  "c104": "G",
}') AS col;

SELECT KEY, VALUE::TEXT AS value
FROM tab
,TABLE(FLATTEN (INPUT => tab.COL));

輸出:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM