"Сессна 208 Караван"}
как в запросе WHERE указать условие выбора по значению ключа "Cessna 208 Caravan", при этом не зная ключа?
SELECT * FROM aircrafts_data WHERE model = значение содержит Cessna 208 Caravan, но не зная ключа и других пар ключей в jsonb
jsonb::text like '%Cessna 208 Caravan%'
спасибо, то есть я правильно понял? сначала мы привели к типу text а затем оператором LIKE нашли в каких строках содержится шаблон?
попробуйте найти таким способом любую строку, содержащую двойные кавычки
задача была найти Cessna 208 Caravan
Обычно подобные задачи ставят для того, чтобы полученное решение применить в общем виде. Потому что задачу нахождения буквально "Cessna 208 Caravan", топикстартер уже решил вручную (поскольку приведено полное значение атрибута).
В общем виде я бы посоветовал внимательно посмотреть нужен ли там json
ну и можете написать свой вариант с json_each_text или еще чем.
SELECT '{"en": "Cessna 208 Caravan", "ru": "Сессна 208 Караван"}'::jsonb@? '$.* ? (@ == "Сессна 208 Караван")'::jsonpath;
Обсуждают сегодня