對ARRAY數組中的元素進行排序。
命令格式
array<T> sort_array(array<T> <a>[, <isasc>])
參數說明
a:必填。ARRAY數組。
array<T>
中的T
指代ARRAY數組元素的資料類型,數組中的元素可以為任意類型。isasc:可選。用於設定定序。取值為True(升序)或False(降序)。預設為升序。
傳回值說明
返回ARRAY類型。NULL值為最小值。
使用樣本
樣本1:例如表
t_array
的欄位為c1 array<string>,c2 array<int> ,c3 array<string>
,包含資料如下:+------------+---------+--------------+ | c1 | c2 | c3 | +------------+---------+--------------+ | [a, c, f, b] | [4, 5, 7, 2, 5, 8] | [你, 我, 他] | +------------+---------+--------------+
對錶的每列資料進行排序。命令樣本如下。
--返回[a, b, c, f] [2, 4, 5, 5, 7, 8] [他, 你, 我]。 select sort_array(c1),sort_array(c2),sort_array(c3) from t_array;
樣本2:對ARRAY數組
array(10, 20, 40, 30, 30, null, 50)
進行降序排序。命令樣本如下。--返回[50, 40, 30, 30, 20, 10, NULL]。 select sort_array(array(10, 20, 40, 30, 30, null, 50), false);
相關函數
SORT_ARRAY函數屬於複雜類型函數,更多對複雜類型資料(例如ARRAY、MAP、STRUCT、JSON資料)的處理函數請參見複雜類型函數。