gpt4 book ai didi

mysql - 在 MySQL 5.7 中弹出 JSON 数组中的最后一项

转载 作者:可可西里 更新时间:2023-11-01 08:25:07 26 4
gpt4 key购买 nike

我在名为 from 的字段中有一组日期。它可能看起来像这样。

['2016-05-01', '2016-05-03', '2016-05-04']

我想SELECT 最后一项(这里是 2016-05-04)。

我已经试过了:

SELECT `from`->"$[JSON_LENGTH(`from`) - 1]" FROM `table` WHERE `id` = 3;

但出现错误:

ERROR 3143 (42000): Invalid JSON path expression. The error is around character position 2.

我试过使用这样的变量:

SET @count = (SELECT JSON_LENGTH(`from`) - 1 FROM `table` WHERE `id` = 3);
SELECT `from`->"$[@count]" FROM `table` WHERE `id` = 3;

但得到了完全相同的错误。但如果我这样做:

SELECT `from`->"$[2]" FROM `table` WHERE `idx` = 3;

它工作正常。

最佳答案

你可以使用:

SELECT JSON_EXTRACT(`from`,CONCAT("$[",JSON_LENGTH(`from`)-1,"]"))      FROM `table`;

获取 json 数组中的最后一项。

关于mysql - 在 MySQL 5.7 中弹出 JSON 数组中的最后一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38443307/

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