named_struct

SinceVersion 2.0.0

named_struct

description

Syntax

STRUCT<T1, T2, T3, ...> named_struct({VARCHAR, T1}, {VARCHAR, T2}, ...)

根据给定的字符串和值构造并返回struct

参数个数必须为非0偶数,奇数位是field的名字,必须为常量字符串,偶数位是field的值,可以是多列或常量

notice

仅支持向量化引擎中使用

example

  1. mysql> select named_struct('f1', 1, 'f2', 'a', 'f3', "abc");
  2. +-----------------------------------------------+
  3. | named_struct('f1', 1, 'f2', 'a', 'f3', 'abc') |
  4. +-----------------------------------------------+
  5. | {1, 'a', 'abc'} |
  6. +-----------------------------------------------+
  7. 1 row in set (0.01 sec)
  8. mysql> select named_struct('a', null, 'b', "v");
  9. +-----------------------------------+
  10. | named_struct('a', NULL, 'b', 'v') |
  11. +-----------------------------------+
  12. | {NULL, 'v'} |
  13. +-----------------------------------+
  14. 1 row in set (0.01 sec)
  15. mysql> select named_struct('f1', k1, 'f2', k2, 'f3', null) from test_tb;
  16. +--------------------------------------------------+
  17. | named_struct('f1', `k1`, 'f2', `k2`, 'f3', NULL) |
  18. +--------------------------------------------------+
  19. | {1, 'a', NULL} |
  20. +--------------------------------------------------+
  21. 1 row in set (0.02 sec)

keywords

NAMED, STRUCT, NAMED_STRUCT