表 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 節。
如果您在文件中發現任何不正確、與您在使用特定功能時的經驗不符或需要進一步澄清的內容,請使用 此表單 報告文件問題。