#mysql #json
#mysql #json
Вопрос:
Таблица MySQL имеет этот формат:
CREATE TABLE bar...
...
foo JSON
...
Поле foo
имеет следующее содержимое:
{"#:8": 0.90189, "#:34": 0.90239, "#:55": 0.90238, "#:144": 0.90219, "X:21-34": -1}
Эта команда завершается ошибкой:
SELECT foo FROM bar WHERE foo->'$.X:21-34' != 0;
Ошибка (4,1): неверное выражение пути в формате JSON. Ошибка находится вокруг
позиции символа 9.
Как я могу получить доступ к тем полям, которые имеют некоторые специальные символы в имени ключа, но строка JSON все еще действительна?
Комментарии:
Ответ №1:
БОЖЕ. Это было очень просто и логично. Это решение:
SELECT foo FROM bar WHERE foo->'$."X:21-34"' != 0;
Я должен использовать двойные кавычки вокруг имени ключа.
Комментарии:
1. Хороший ответ! Большое спасибо