[英]Check if a property exists in a jsonb column
我面临一个问题,即按jsonb
列类型的属性过滤行。
我尝试了这个:
jsonb_column ? 'my_property'
在pgadmin
或psql
它运行良好,但是在JDBC驱动程序上,它将引发错误:
org.hibernate.QueryException: Expected positional parameter count: 3, actual parameters: []
问题出在?
操作员。 那么,还有另一种方法吗?
好吧,经过一些研究,没有人能解决我的“?”问题 通过JDBC驱动程序操作符,我用另一种方式解决了该功能
jsonb_object_keys
返回json元素的所有键,然后使用<@运算符过滤每个键,例如:
ARRAY(SELECT jsonb_object_keys(jsonb_column)) <@ '{property1,property2,property3}'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.