跳到主要内容
版本:2.5

array_sort

功能

对数组中的元素进行升序排列。

语法

ARRAY_SORT(array)

参数说明

array:需要排序的数组。支持的数据类型为 ARRAY。

数组元素可以是以下数据类型:BOOLEAN、TINYINT、SMALLINT、INT、BIGINT、LARGEINT、FLOAT、DOUBLE、VARCHAR、DECIMALV2、DATETIME、DATE、JSON。从 2.5 版本开始,该函数支持 JSON 类型的数组元素。

返回值说明

返回的数据类型为 ARRAY。

注意事项

  • 只支持升序。
  • null 会排在前面。
  • 如果需要降序排列,可以对排序后的结果,调用 reverse 函数。
  • 返回的数组元素类型和参数 array 中的元素类型一致。

示例

下面的示例使用如下数据表进行介绍。

mysql> select * from test;
+------+--------------+
| c1 | c2 |
+------+--------------+
| 1 | [4,3,null,1] |
| 2 | NULL |
| 3 | [null] |
| 4 | [8,5,1,4] |
+------+--------------+

c2 列数组中的元素进行排序(升序)。

mysql> select c1, array_sort(c2) from test;
+------+------------------+
| c1 | array_sort(`c2`) |
+------+------------------+
| 1 | [null,1,3,4] |
| 2 | NULL |
| 3 | [null] |
| 4 | [1,4,5,8] |
+------+------------------+