【问题标题】:Json extract coming as null - Presto SQLJson 提取为空 - Presto SQL
【发布时间】:2021-02-17 05:30:25
【问题描述】:

我正在尝试使用 json extract 来使用以下代码获取一些值:

json_extract_scalar(properties,'$.partner_target_app_id') as partner_target_app_id,

它可以工作,但是这些值都以 NULL 的形式出现。当我提取属性字段时,我得到了我想要的值,如下例所示: {"allow_url":false,"partner_target_app_id":[28479748204829001,9388018374784],"link":"http"}

有人知道这可能是什么问题吗?我认为这与数字周围的 [] 有关,但我也尝试使用 '$.[partner_target_app_id]') 并且也得到了相同的结果。

谢谢

【问题讨论】:

    标签: sql presto trino


    【解决方案1】:

    json_extract_scalar 用于提取标量值(数字、字符串、布尔值)。在您的示例中,与 partner_target_app_id 关联的值是一个数组。

    您可以使用 json_extract,在这种情况下,它会返回一个包含 JSON 数字数组的 JSON 类型的值,并将其转换为 SQL 数组:

    SELECT cast(json_extract(x, '$.partner_target_app_id') as array(bigint)) 
    FROM (
        VALUES '{"allow_url":false,"partner_target_app_id":[28479748204829001,9388018374784],"link":"http"}') t(x);
    
                   _col0
    ------------------------------------
     [28479748204829001, 9388018374784]
    (1 row)
    

    【讨论】:

      猜你喜欢
      • 2022-11-23
      • 2020-11-07
      • 2020-09-25
      • 2021-05-06
      • 2020-01-21
      • 2021-03-01
      • 2019-03-07
      • 2022-01-06
      • 2020-05-01
      相关资源
      最近更新 更多