Почему я получаю сообщение об ошибке в содержании запроса (пытаюсь найти / содержать элемент)? - PullRequest
0 голосов
/ 17 сентября 2018

Не могли бы вы сказать мне, почему я получаю ошибку в содержании запроса?http://sqlfiddle.com/#!17/67b79/8

select * from Test where body @> '{"n","qwe"}::jsbonb';

Ошибка

ОШИБКА: недопустимый синтаксис ввода для типа json Подробности: ожидается ":", но найдено ",".Позиция: 34 Где: данные JSON, строка 1: {"n", ... **

1 Ответ

0 голосов
/ 17 сентября 2018

В вашем запросе есть две ошибки:

  1. '{"n","qwe"} не является значением JSON для начала. Для пары ключ / значение необходимо использовать '{"n":"qwe"}' (обратите внимание на : вместо ,)
  2. тип приведения ::json должен не быть включен в строковую константу.
select * 
from Test 
where body @> '{"n": "qwe"}'::jsbonb;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...