跳到主要内容
跳到主要内容

EXPLODE

explode

description

表函数,需配合 Lateral View 使用。

将 array 列展开成多行。当 array 为NULL或者为空时,explode_outer 返回NULL。 explodeexplode_outer 均会返回 array 内部的NULL元素。

syntax

explode(expr)
explode_outer(expr)

example

mysql> set enable_vectorized_engine = true

mysql> select e1 from (select 1 k1) as t lateral view explode([1,2,3]) tmp1 as e1;
+------+
| e1 |
+------+
| 1 |
| 2 |
| 3 |
+------+

mysql> select e1 from (select 1 k1) as t lateral view explode_outer(null) tmp1 as e1;
+------+
| e1 |
+------+
| NULL |
+------+

mysql> select e1 from (select 1 k1) as t lateral view explode([]) tmp1 as e1;
Empty set (0.010 sec)

mysql> select e1 from (select 1 k1) as t lateral view explode([null,1,null]) tmp1 as e1;
+------+
| e1 |
+------+
| NULL |
| 1 |
| NULL |
+------+

mysql> select e1 from (select 1 k1) as t lateral view explode_outer([null,1,null]) tmp1 as e1;
+------+
| e1 |
+------+
| NULL |
| 1 |
| NULL |
+------+

keywords

EXPLODE,EXPLODE_OUTER,ARRAY