为什么在包含查询中出现错误(尝试搜索/ contain元素)?

时间:2018-09-17 06:04:28

标签: sql json postgresql

能否请您告诉我为什么包含查询中出现错误? http://sqlfiddle.com/#!17/67b79/8

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

错误

  

错误:类型json的输入语法无效详细信息:预期为“:”,但发现为“,”。位置:34,其中:JSON数据,第1行:{“ n”,... **

1 个答案:

答案 0 :(得分:0)

查询中有两个错误:

  1. '{"n","qwe"}不是以JSON开头的值。对于键/值对,您需要使用'{"n":"qwe"}'(请注意,用:代替,
  2. 强制转换类型::json必须包含在字符串常量中。
select * 
from Test 
where body @> '{"n": "qwe"}'::jsbonb;