array_remove

SinceVersion 1.2.0

array_remove

description

Syntax

  1. ARRAY<T> array_remove(ARRAY<T> arr, T val)

返回移除所有的指定元素后的数组,如果输入参数为NULL,则返回NULL

notice

仅支持向量化引擎中使用

example

  1. mysql> set enable_vectorized_engine=true;
  2. mysql> select array_remove(['test', NULL, 'value'], 'value');
  3. +-----------------------------------------------------+
  4. | array_remove(ARRAY('test', NULL, 'value'), 'value') |
  5. +-----------------------------------------------------+
  6. | [test, NULL] |
  7. +-----------------------------------------------------+
  8. mysql> select k1, k2, array_remove(k2, 1) from array_type_table_1;
  9. +------+--------------------+-----------------------+
  10. | k1 | k2 | array_remove(`k2`, 1) |
  11. +------+--------------------+-----------------------+
  12. | 1 | [1, 2, 3] | [2, 3] |
  13. | 2 | [1, 3] | [3] |
  14. | 3 | NULL | NULL |
  15. | 4 | [1, 3] | [3] |
  16. | 5 | [NULL, 1, NULL, 2] | [NULL, NULL, 2] |
  17. +------+--------------------+-----------------------+
  18. mysql> select k1, k2, array_remove(k2, k1) from array_type_table_1;
  19. +------+--------------------+--------------------------+
  20. | k1 | k2 | array_remove(`k2`, `k1`) |
  21. +------+--------------------+--------------------------+
  22. | 1 | [1, 2, 3] | [2, 3] |
  23. | 2 | [1, 3] | [1, 3] |
  24. | 3 | NULL | NULL |
  25. | 4 | [1, 3] | [1, 3] |
  26. | 5 | [NULL, 1, NULL, 2] | [NULL, 1, NULL, 2] |
  27. +------+--------------------+--------------------------+
  28. mysql> select k1, k2, array_remove(k2, date('2022-10-10')) from array_type_table_date;
  29. +------+--------------------------+-------------------------------------------------+
  30. | k1 | k2 | array_remove(`k2`, date('2022-10-10 00:00:00')) |
  31. +------+--------------------------+-------------------------------------------------+
  32. | 1 | [2021-10-10, 2022-10-10] | [2021-10-10] |
  33. | 2 | [NULL, 2022-05-14] | [NULL, 2022-05-14] |
  34. +------+--------------------------+-------------------------------------------------+
  35. mysql> select k1, k2, array_remove(k2, k1) from array_type_table_nullable;
  36. +------+-----------+--------------------------+
  37. | k1 | k2 | array_remove(`k2`, `k1`) |
  38. +------+-----------+--------------------------+
  39. | NULL | [1, 2, 3] | NULL |
  40. | 1 | NULL | NULL |
  41. | NULL | [NULL, 1] | NULL |
  42. | 1 | [NULL, 1] | [NULL] |
  43. +------+-----------+--------------------------+

keywords

ARRAY,REMOVE,ARRAY_REMOVE