gpt4 book ai didi

mysql - mysql 5.6 的自定义 json_extract 函数未按预期工作

转载 作者:行者123 更新时间:2023-11-29 16:13:09 25 4
gpt4 key购买 nike

我使用的是 mysql 5.6,因此使用自定义函数来提取 json 字段。如果每个 json 字段只有一个值,则工作正常,但如果有多个值,则工作失败。

Table extract
user_id, cb_contactgroup
289, [{"cb_mobile":"777777777","cb_phonefixedline":"666666666"}]
290, [{"cb_mobile":"999999999","cb_phonefixedline":"888888888"}]
291, [{"cb_mobile":"1111111111","cb_phonefixedline":"2222222222"},{"cb_mobile":"3333333333","cb_phonefixedline":"4444444444"}]

对于 user_id 291 应该有两行,但只有一行如下所示。

user_id, mobile,    phonefixedline
289, 777777777, 666666666
290, 999999999, 888888888
291, 3333333333, 4444444444

我正在使用以下功能。我不是技术人员,有人可以帮我纠正以下功能:

ELIMITER $$

DROP FUNCTION IF EXISTS `json_extract_c`$$

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

DELIMITER ;

从选择查询的位置发布 How to get values from MySQL(5.6) column if that contains json document as string - @user3631341

最佳答案

因为我需要在 mysql 5.6 上使用 JSON_EXTRACT,所以我自己编写了一个原始函数的副本,可以像 mysql 5.7 中的 native 函数一样提取值

Link to source code

关于mysql - mysql 5.6 的自定义 json_extract 函数未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55076137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com