1
Ich habe ein Array von Daten in einem Feld namens from
. Es kann in etwa so aussehen.Pop das letzte Element in einem JSON-Array in MySQL 5.7
['2016-05-01', '2016-05-03', '2016-05-04']
Ich möchte das letzte Element zu SELECT (hier 2016-05-04
).
Ich habe dies versucht:
SELECT `from`->"$[JSON_LENGTH(`from`) - 1]" FROM `table` WHERE `id` = 3;
bekam aber diesen Fehler:
ERROR 3143 (42000): Invalid JSON path expression. The error is around character position 2.
Ich habe versucht, eine Variable wie folgt aus:
SET @count = (SELECT JSON_LENGTH(`from`) - 1 FROM `table` WHERE `id` = 3);
SELECT `from`->"$[@count]" FROM `table` WHERE `id` = 3;
bekam aber die genaue gleicher Fehler Aber wenn ich das tue:
SELECT `from`->"$[2]" FROM `table` WHERE `idx` = 3;
Es funktioniert gut.
Ich habe 'SELECT \' von \ '->" $ [- 1] "FROM \' table \ 'WHERE \' idx \ '= 3;' mit dem gleichen Fehler versucht ... – Havarem