【问题标题】:Can't extract JSON Paths in Queries无法在查询中提取 JSON 路径
【发布时间】:2017-10-16 18:37:42
【问题描述】:

您好,我有一个包含 2 列 idstring 的表“状态”。 我插入一个数据,例如id = 1string = {"1": "Enable", "2": " Disabled"}

我怎样才能在 SQL 中只获取值“Enable”?

If I type SELECT
  id, string->"$.1" 
FROM status;

我的 JSON 路径表达式无效。

【问题讨论】:

    标签: mysql sql json phpmyadmin


    【解决方案1】:

    您需要将1 括在引号中,以便将其视为字符串,而不是数字。

    以下任何一个都应该适合您:

    SELECT   id, string->"$.\"1\""  
    FROM status
    

    或:

    SELECT   id, string->'$."1"' 
    FROM status
    

    【讨论】:

      【解决方案2】:

      有一个函数叫做json_extract()。 以下查询应该可以完成工作:

         SELECT
            id, 
          json_extract(string,'$.1') 
          FROM status;
      

      编辑:此解决方案仅适用于 Mysql 5.7 或更高版本。

      希望对你有帮助!

      【讨论】:

      • 它不起作用。就像@Ike Walker 说我需要将 1 括在引号中。
      • 对不起。忘记跟你查Mysql版本了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-27
      • 1970-01-01
      相关资源
      最近更新 更多