配列内の要素を並べ替えます。
構文
array<T> sort_array(array<T> <a>[, <isasc>])パラメーター
a: 必須です。 このパラメーターは、配列を指定します。
array<T>のTは、配列内の要素のデータ型を指定します。 要素は任意のデータ型にすることができます。isasc: オプション。 このパラメーターは、配列内の要素をソートする順序を指定します。 有効な値は、true および false です。 値trueは昇順を示し、値falseは降順を示します。 このパラメーターを指定しない場合、要素は昇順でソートされます。
戻り値
ARRAY型の値が返されます。 値nullは最小値として解釈されます。
例
例1:
c1 array <STRING> 、c2 ARRAY<INT> 、およびc3 ARRAY<STRING>列を含むt_ARRAYテーブルのデータをソートします。 テーブル内のデータ:+------------+---------+--------------+ | c1 | c2 | c3 | +------------+---------+--------------+ | [a, c, f, b] | [4, 5, 7, 2, 5, 8] | [You, Me, Him] | +------------+---------+--------------+テーブルの各列のデータをソートします。 例:
-- The return value is [a, b, c, f] [2, 4, 5, 5, 7, 8] [Him, Me, You]. select sort_array(c1),sort_array(c2),sort_array(c3) from t_array;例2:
配列 (10、20、40、30、30、null、50)の要素を降順でソートします。 例:-- The return value is [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などの複雑なデータ型のデータを処理するために使用される関数の詳細については、複合型関数.