目录
1、某个字段中包含目标list中的全部使用@>:
2、某个字段中包含目标list中任意值使用?|:
3、其他操作样例:
1、某个字段中包含目标list中的全部使用@>:
SELECT * FROM "public"."t_a" WHERE a::jsonb @> '["cc", "dd"]' limit 10;
2、某个字段中包含目标list中任意值使用?|:
SELECT count(1) FROM "public"."t_a" WHERE a::jsonb ?| array['cc','dd'] LIMIT 10;
3、其他操作样例:
PostgreSQL 中的 JSONB 数据类型提供了丰富的操作符,用于执行各种操作。以下是一些常用的 JSONB 操作符及其解释和样例:
-  ->:用于获取 JSONB 对象的子对象或数组的元素。- 示例:jsonb_column->'key'
 
- 示例:
-  ->>:用于将 JSONB 对象的子对象或数组的元素转换为文本。- 示例:jsonb_column->>'key'
 
- 示例:
-  #>:用于获取 JSONB 对象的多层嵌套子对象。- 示例:jsonb_column#>'{key1, key2}'
 
- 示例:
-  #>>:用于获取 JSONB 对象的多层嵌套子对象的值,并将其转换为文本。- 示例:jsonb_column#>>'{key1, key2}'
 
- 示例:
-  @>:用于检查是否包含指定的 JSONB 对象或数组。- 示例:jsonb_column @> '{"key": "value"}'
 
- 示例:
-  <@:用于检查是否被指定的 JSONB 对象或数组包含。- 示例:jsonb_column <@ '{"key": "value"}'
 
- 示例:
-  ?:用于检查是否存在指定的 JSONB 键。- 示例:jsonb_column ? 'key'
 
- 示例:
-  ?|:用于检查是否存在指定的 JSONB 键中的任意一个。- 示例:jsonb_column ?| array['key1', 'key2']
 
- 示例:
-  ?&:用于检查是否存在指定的 JSONB 键中的所有键。- 示例:jsonb_column ?& array['key1', 'key2']
 
- 示例:
-  ||:用于连接两个 JSONB 数组。- 示例:jsonb_array1 || jsonb_array2
 
- 示例:
以上只是一些基本的 JSONB 操作符,实际上还有很多其他操作符和函数可用。你可以参考 PostgreSQL 文档中的 JSON 函数和操作符部分以获取更多详细信息:PostgreSQL: Documentation: 13: Chapter 9. Functions and Operators