簡體   English   中英

在 Snowflake 中使用不區分大小寫的列名解析 JSON 數據

[英]Parse JSON data using case insensitive column names in Snowflake

我正在嘗試解析 Json 文檔並創建一個視圖。 解析 JSON 時,我們可以使用不區分大小寫的列名。 有什么辦法嗎?

SELECT 
   parse_json(column1) AS json_data
FROM VALUES
   ('{
      "ID": 1,
      "color": "black",
      "category": "hue",
      "type": "primary",
      "code": {
        "rgb": "255,255,255",
        "hex": "#000"
      }
    }') as raw_json;

這將運行並拉取數據, select json_data:ID::integer as ID from colors

這不會拉數據。 有什么辦法可以使下面也有效嗎? select json_data:id::integer as ID from colors

您可以將GET_IGNORE_CASE用作:

SELECT  GET_IGNORE_CASE(to_object(json_data),'id')::integer  as ID1,
        GET_IGNORE_CASE(to_object(json_data),'ID')::integer  as ID2 
FROM
(
  SELECT 
     parse_json(column1) AS json_data
  FROM VALUES
     ('{
        "ID": 1,
        "color": "black",
        "category": "hue",
        "type": "primary",
        "code": {
          "rgb": "255,255,255",
          "hex": "#000"
        }
      }') as raw_json
  )

暫無
暫無

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

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