• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    mysql(5.6及以下)解析json的方法实例详解

    mysql(5.6及以下)解析json

    #json解析函数    
    DELIMITER $$
    DROP FUNCTION IF EXISTS `json_extract_c`$$
    CREATE FUNCTION `json_extract_c`(
    details TEXT,
    required_field VARCHAR (255)
    ) RETURNS TEXT CHARSET latin1
    BEGIN
    SET details = SUBSTRING_INDEX(details, "{", -1);
    SET details = SUBSTRING_INDEX(details, "}", 1);
    RETURN TRIM(
      BOTH '"' FROM SUBSTRING_INDEX(
        SUBSTRING_INDEX(
          SUBSTRING_INDEX(
            details,
            CONCAT(
    '"',
              SUBSTRING_INDEX(required_field,'$.', -1),
    '":'
            ),
    -1
          ),
    ',"',
    1
        ),
    ':',
    -1
      )
    ) ;
    END$$
    DELIMITER ;
    example:
    select json_extract_c(json, "$.totalDays"), json from item limit 100;

    自测

    CREATE TABLE `json_test` (
     `id` int(11) DEFAULT NULL,
     `person_desc` text COLLATE utf8mb4_unicode_ci
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
    insert INTO json_test values(2,'{"firstName":"Sergei","lastName":"Rachmaninoff","instrument":"piano"}');
    SELECT id,json_extract_c(person_desc,'$.lastName') as "keys" FROM json_test;

     改进,再找不到key,返回''值,之前的是在找不到的情况下,查找到第一的值。

    CREATE DEFINER=`zhangfen`@`%` FUNCTION `json_extract_c`(
    details TEXT,
    required_field VARCHAR (255)
    ) RETURNS text CHARSET latin1
    BEGIN
    SET details = SUBSTRING_INDEX(details, "{", -1);
    SET details = SUBSTRING_INDEX(details, "}", 1);
    RETURN TRIM(
      BOTH '"' FROM SUBSTRING_INDEX(
        SUBSTRING_INDEX(
          SUBSTRING_INDEX(
            CONCAT('"":"",',details),
            CONCAT(
              '"',
              SUBSTRING_INDEX(required_field,'$.', -1),
              '":'
            ),
            -1
          ),
          ',"',
          1
        ),
        ':',
        -1
      )
    ) ;
    END

    总结

    以上所述是小编给大家介绍的mysql(5.6及以下)解析json的方法实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
    如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

    您可能感兴趣的文章:
    • MySQL5.7中的JSON基本操作指南
    • MySQL5.7 JSON类型使用详解
    • Mysql5.7中JSON操作函数使用说明
    • 简单谈谈MySQL5.7 JSON格式检索
    • mysql5.6及以下版本如何查询数据库里的json
    • 详解Mysql中的JSON系列操作函数
    • MySQL操作之JSON数据类型操作详解
    • MySQL插入json问题
    • mysql5.7 新增的json字段类型用法实例分析
    上一篇:Mysql主从复制作用和工作原理详解
    下一篇:MySQL查询条件中in会用到索引吗
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    mysql(5.6及以下)解析json的方法实例详解 mysql,5.6,及,以下,解析,json,