美文网首页
mysql(5.6及以下)解析json

mysql(5.6及以下)解析json

作者: smallAttr | 来源:发表于2018-10-26 18:17 被阅读0次
    #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;

    相关文章

      网友评论

          本文标题:mysql(5.6及以下)解析json

          本文链接:https://www.haomeiwen.com/subject/qnoktqtx.html