pgsql中jsonb @>的用法
时间: 2024-10-28 17:08:43 浏览: 12
pgsql-postal, PostgreSQL绑定 libpostal.zip
在PostgreSQL中,`jsonb @>` 运算符用于检查一个 JSONB 对象(左边)是否包含另一个 JSONB 表达式(右边)作为其一部分。这个运算符主要用于查询目的,比如从表中筛选出那些字段值匹配特定模式的记录。
语法如下:
```sql
SELECT * FROM table_name WHERE column_name @> jsonb_expression;
```
这里的 `table_name` 是包含 JSONB 数据的表名,`column_name` 是含有 JSONB 数据的列,而 `jsonb_expression` 是你要查找的模式,通常是一个键值对(如 `{key: value}`)。
例如,假设你有一个用户表 `users`,其中有一个 `preferences` 列存储用户的偏好设置作为 JSONB,你可以这样做来找出所有喜欢巧克力的人:
```sql
SELECT * FROM users WHERE preferences @> '{"chocolate": true}';
```
这将返回所有偏好设置中包含 "chocolate" 键且值为 `true` 的用户。
阅读全文