ARRAY_SORT 函數 - Amazon Redshift

Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊,請參閱部落格文章

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

ARRAY_SORT 函數

以遞增或遞減順序建立輸入陣列的排序版本。您可以指定 NULL 值應出現在結果中的位置。函數是 NULL 安全的,這表示它會將 NULLs 視為已知物件。

語法

ARRAY_SORT( array [, sort_ascending [, nulls_first]] )

引數

陣列

SUPER 表達式,指定要排序的陣列。

sort_ascending

布林值,指定要以遞增或遞減順序排序陣列:

  • 指定 TRUE 以遞增順序排序元素。

  • 指定 FALSE 以遞減順序排序元素。

預設值為 TRUE。

nulls_first

指定 NULL 定位的布林值:

  • 指定 TRUE,將 NULLs放在已排序陣列的開頭。

  • 指定 FALSE,將 NULLs放在已排序陣列的結尾。

傳回類型

ARRAY_SORT 函數會傳回 SUPER 類型。

注意

排序包含混合資料類型的陣列時,元素會根據下列類型優先順序排序:

  • 布林值

  • 數值

  • 字串值

  • 陣列

  • 物件/字典

在每個類型類別中,元素會根據其自然順序排序 (例如,數字按數字排序,字串按字母順序排序)。

範例

下列範例顯示 ARRAY_SORT 函數。

-- Ascending order (default) SELECT ARRAY_SORT(ARRAY('b', 'a', 0, NULL, 1, false)); array_sort -------------------------- [false,0,1,"a","b",null] (1 row) -- Descending order SELECT ARRAY_SORT(ARRAY('b', 'a', 0, NULL, 1, false), False); array_sort -------------------------- [null,"b","a",1,0,false] (1 row) -- Descending order with NULLs at the end of the sorted array SELECT ARRAY_SORT(ARRAY('b', 'a', 0, NULL, 1, false), False, False); array_sort -------------------------- ["b","a",1,0,false,null] (1 row)

另請參閱