array_size (size, cardinality)

SinceVersion 1.2.0

array_size (size, cardinality)

description

Syntax

  1. BIGINT size(ARRAY<T> arr)
  2. BIGINT array_size(ARRAY<T> arr)
  3. BIGINT cardinality(ARRAY<T> arr)

返回数组中元素数量,如果输入数组为NULL,则返回NULL

notice

仅支持向量化引擎中使用

example

  1. mysql> set enable_vectorized_engine=true;
  2. mysql> select k1,k2,size(k2) from array_test;
  3. +------+-----------+------------+
  4. | k1 | k2 | size(`k2`) |
  5. +------+-----------+------------+
  6. | 1 | [1, 2, 3] | 3 |
  7. | 2 | [] | 0 |
  8. | 3 | NULL | NULL |
  9. +------+-----------+------------+
  10. mysql> select k1,k2,array_size(k2) from array_test;
  11. +------+-----------+------------------+
  12. | k1 | k2 | array_size(`k2`) |
  13. +------+-----------+------------------+
  14. | 1 | [1, 2, 3] | 3 |
  15. | 2 | [] | 0 |
  16. | 3 | NULL | NULL |
  17. +------+-----------+------------------+
  18. mysql> select k1,k2,cardinality(k2) from array_test;
  19. +------+-----------+-------------------+
  20. | k1 | k2 | cardinality(`k2`) |
  21. +------+-----------+-------------------+
  22. | 1 | [1, 2, 3] | 3 |
  23. | 2 | [] | 0 |
  24. | 3 | NULL | NULL |
  25. +------+-----------+-------------------+

keywords

ARRAY_SIZE, SIZE, CARDINALITY