【问题标题】:Snowflake json flatten from varchar data type雪花 json 从 varchar 数据类型变平
【发布时间】:2021-09-08 22:48:51
【问题描述】:

需要扁平化json数据,来自雪花中的varchar/string数据类型列

create table testjson1 (name varchar(200)) 


select name:batchNumber from testjson1, lateral flatten( input => name ) 

insert into testjson1 select parse_json('{"batchNumber" : "B12345", "productCode" : "P1234"}')

insert into testjson1 select  ('2020-09-13T14:00:00.0000000')

select name:batchNumber from testjson1

【问题讨论】:

    标签: snowflake-cloud-data-platform


    【解决方案1】:

    这里的重点是转换/解析 varchar 列,这里使用 TRY_PARSE_JSON:

    选项 1:

    select t.*, f.PATH, f.VALUE 
    from testjson1 t, lateral flatten(input => TRY_PARSE_JSON(name), OUTER=>true) f;
    /*
    NAME                                            PATH        VALUE
    {"batchNumber":"G35H9","productCode":"AHF7124"} batchNumber "G35H9"
    {"batchNumber":"G35H9","productCode":"AHF7124"} productCode "AHF7124"
    2020-09-13T14:00:00.0000000                     NULL        NULL    
    */
    

    选项 2:

    select *, TRY_PARSE_JSON(name):batchNumber::string AS result from testjson1
    /*
    NAME                                            RESULT
    {"batchNumber":"G35H9","productCode":"AHF7124"} G35H9
    2020-09-13T14:00:00.0000000                     NULL
    */
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多