array_shuffle

SinceVersion 2.0

array_shuffle shuffle

description

Syntax

1. ARRAY<T> array_shuffle(ARRAY<T> array1, [INT seed])
2. ARRAY<T> shuffle(ARRAY<T> array1, [INT seed])

将数组中元素进行随机排列。其中,参数array1为要进行随机排列的数组,可选参数seed是设定伪随机数生成器用于生成伪随机数的初始数值。 shuffle与array_shuffle功能相同。

1. array_shuffle(array1);
2. array_shuffle(array1, 0);
3. shuffle(array1);
4. shuffle(array1, 0);

example

2. mysql [test]> select c_array1, array_shuffle(c_array1) from array_test;
3. +-----------------------+---------------------------+
4. | c_array1              | array_shuffle(`c_array1`) |
5. +-----------------------+---------------------------+
6. | [1, 2, 3, 4, 5, NULL] | [2, NULL, 5, 3, 4, 1]     |
7. | [6, 7, 8, NULL]       | [7, NULL, 8, 6]           |
8. | [1, NULL]             | [1, NULL]                 |
9. | NULL                  | NULL                      |
10. +-----------------------+---------------------------+
11. 4 rows in set (0.01 sec)

13. MySQL [test]> select c_array1, array_shuffle(c_array1, 0) from array_test;
14. +-----------------------+------------------------------+
15. | c_array1              | array_shuffle(`c_array1`, 0) |
16. +-----------------------+------------------------------+
17. | [1, 2, 3, 4, 5, NULL] | [1, 3, 2, NULL, 4, 5]        |
18. | [6, 7, 8, NULL]       | [6, 8, 7, NULL]              |
19. | [1, NULL]             | [1, NULL]                    |
20. | NULL                  | NULL                         |
21. +-----------------------+------------------------------+
22. 4 rows in set (0.01 sec)

keywords

ARRAY,ARRAY_SHUFFLE,SHUFFLE