跳到主要内容

EXPLODE_NUMBERS

描述

explode_numbers 表函数,接受一个整数 n ,将范围的所有数字展开为多行,每行一个数字。常用于生成连续数字的序列,配合 LATERAL VIEW 使用。

explode_numbers_outerexplode_numbers 不同的是,会在表函数生成0行数据时添加一行Null数据。

语法

EXPLODE_NUMBERS(<n>)
EXPLODE_NUMBERS_OUTER(<n>)

参数

参数说明
<n>整数类型

返回值

返回一个[0,n)的序列

  • 当为 0 或者 NULL 时不返回

举例

select e1 from (select 1 k1) as t lateral view explode_numbers(5) tmp1 as e1;
+------+
| e1 |
+------+
| 0 |
| 1 |
| 2 |
| 3 |
| 4 |
+------+
select e1 from (select 1 k1) as t lateral view explode_numbers(0) tmp1 as e1;
Empty set
select e1 from (select 1 k1) as t lateral view explode_numbers_outer(0) tmp1 as e1;
+------+
| e1 |
+------+
| NULL |
+------+