Использование извлечения JSON, когда данные не имеют ключа - PullRequest
0 голосов
/ 18 февраля 2019

Мои данные:

 ["2016-04-21", "2016-04-22"] 

Мой запрос:

select * from applications WHERE JSON_CONTAINS("date", "$");

У моих данных json нет ключей, покажите, как я могу использовать JSON_CONTAINS здесь?

1 Ответ

0 голосов
/ 18 февраля 2019

Если вы хотите найти значение даты в ваших данных JSON, вы можете использовать следующее, используя JSON_SEARCH вместо:

SELECT * 
FROM applications 
WHERE NOT JSON_SEARCH(col_json, 'one', '2016-04-22') IS NULL;

демо на dbfiddle.uk


Почему вы не можете использовать JSON_CONTAINS?

Для поиска определенногоЗначение даты в ваших данных JSON необходимо использовать подстановочный знак (*).Это недопустимо для аргумента пути JSON_CONTAINS:

Ошибка возникает, если цель или кандидат не является допустимым документом JSON или аргумент пути не является допустимым выражением пути или содержит* или ** подстановочный знак.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...