【问题标题】:How to extract JSON value from SQL where where column values sometimes empty如何从 SQL 中提取 JSON 值,其中列值有时为空
【发布时间】:2021-05-21 18:12:12
【问题描述】:

我有一个表,其列 'sometimesjson' 有时包含这样的值:

[{"id":111,"nam":"PROVIDER_this_one","qty":null}]

有时该字段完全为空,不仅仅是“[]”,而是完全为空/空字段。

所以我尝试用这个返回“PROVIDER_this_one”,但是错误...

CASE WHEN JSON_VALID(sometimesjson) 
            THEN 
            JSON_EXTRACT(sometimesjson, '$.nam') 
            AS 'FROMJSON' 
             ELSE null  

有什么想法吗?

【问题讨论】:

  • 错误,错误,我没有看到错误也许你可以和我们分享你的
  • 我想通了。我猜是因为 json 实际上是数组,所以我为该表字段中的数组中的每个值调用“nam”的正确方法是...... '$[*].nam' 而不是 '$.nam' 它是现在工作。

标签: sql mariadb mariasql


【解决方案1】:

我想通了。我猜是因为 json 值实际上是一个数组,所以我为该表字段值数组中的每个值调用“nam”的正确方法是...... '$[*].nam'而不是 '$.nam' 它现在正在使用...

    CASE WHEN JSON_VALID(sometimesjson) 
            THEN 
            JSON_EXTRACT(sometimesjson, '$[*].nam') 
            AS 'FROMJSON' 
             ELSE null  

【讨论】:

    猜你喜欢
    • 2023-04-02
    • 2021-07-25
    • 1970-01-01
    • 2021-06-08
    • 2023-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-11
    相关资源
    最近更新 更多