表 9.56 显示了数组类型支持的特殊运算符。除这些运算符外,表 9.1 中显示的常规比较运算符也可用于数组。比较运算符会逐个元素地比较数组内容,使用元素数据类型的默认 B-tree 比较函数,并根据第一个不同点进行排序。在多维数组中,元素按行主序(最后一个下标变化最快)进行访问。如果两个数组的内容相等但维度不同,则维度的第一个差异决定排序顺序。
表 9.56. 数组运算符
| 运算符 描述 示例 | 
|---|
| 
 第一个数组是否包含第二个数组,即第二个数组中出现的每个元素是否等于第一个数组中的某个元素?(重复项不被特殊处理,因此  
 | 
| 
 第一个数组是否被第二个数组包含? 
 | 
| 
 数组是否重叠,即是否有共同元素? 
 | 
| 
 连接两个数组。连接  
 
 | 
| 
 将一个元素连接到数组的开头(数组必须为空或为一维)。 
 | 
| 
 将一个元素连接到数组的末尾(数组必须为空或为一维)。 
 | 
有关数组运算符行为的更多详细信息,请参阅 第 8.15 节。有关哪些运算符支持索引操作的更多详细信息,请参阅 第 11.2 节。
表 9.57 显示了可用于数组类型的函数。有关这些函数的更多信息和用法示例,请参阅 第 8.15 节。
表 9.57. 数组函数
| 函数 描述 示例 | 
|---|
|   将一个元素追加到数组末尾(与  
 | 
|   连接两个数组(与  
 | 
|   返回数组维度的文本表示。 
 | 
|   返回一个由给定值副本填充的数组,其维度长度由第二个参数指定。可选的第三个参数为每个维度提供下界值(默认为所有  
 
 | 
|   返回所请求数组维度的长度。(对于空或缺失的数组维度,返回  
 
 
 | 
|   返回所请求数组维度的下界。 
 | 
|   返回数组的维度数。 
 | 
|   返回第二个参数在数组中第一次出现的下标,如果不存在则返回  
 | 
|   返回第一个参数中第二个参数所有出现位置的下标数组。数组必须是一维的。比较使用  
 | 
|   将一个元素前置到数组的开头(与  
 | 
|   从数组中删除所有等于给定值的元素。数组必须是一维的。比较使用  
 | 
|   将数组中每个等于第二个参数的元素替换为第三个参数。 
 | 
|   反转数组的第一个维度。 
 | 
|   从  
 
 | 
|   随机打乱数组的第一个维度。 
 | 
|   对数组的第一个维度进行排序。排序顺序由数组元素类型的默认排序顺序决定;但是,如果元素类型是可排序的,则可以通过在  如果  
 | 
|   将每个数组元素转换为其文本表示,并将它们连接起来,用  
 | 
|   返回所请求数组维度的上界。 
 | 
|   返回数组中的总元素数,如果数组为空则返回 0。 
 | 
|   通过删除最后  
 | 
|   将数组展开为行集。数组元素按存储顺序读出。 
 1 2 
 foo bar baz quux | 
| 
 将多个数组(可能数据类型不同)展开为行集。如果数组长度不全相同,则较短的数组用  
 a | b ---+----- 1 | foo 2 | bar | baz | 
有关与数组一起使用的聚合函数 array_agg,请参阅 第 9.21 节。
如果您在文档中发现任何不正确、与您在使用特定功能时的经验不符或需要进一步澄清的内容,请使用 此表单 报告文档问题。