INLINE

将给定的STRUCT数组展开。每个数组元素对应一行,每行每个STRUCT元素对应一列。

命令格式

inline(array<struct<f1:T1, f2:T2[, ...]>>)

参数说明

f1:T1f2:T2:必填。可以为任意类型。f1f2代表成员变量,T1T2分别代表成员变量f1f2的取值。

返回值说明

返回STRUCT数组展开的数据。

使用示例

例如表t_table的字段为t_struct struct<user_id:bigint,user_name:string,married:string,weight:double>,包含数据如下:

+----------+
| t_struct |
+----------+
| {user_id:10001, user_name:LiLei, married:N, weight:63.5} |
| {user_id:10002, user_name:HanMeiMei, married:Y, weight:43.5} |
+----------+

命令示例如下。

--将t_struct列展开。
select inline(array(t_struct)) from t_table;
--返回结果如下。
+------------+-----------+---------+------------+
| user_id    | user_name | married | weight     |
+------------+-----------+---------+------------+
| 10001      | LiLei     | N       | 63.5       |
| 10002      | HanMeiMei | Y       | 43.5       |
+------------+-----------+---------+------------+

相关函数

INLINE函数属于复杂类型函数,更多对复杂类型数据(例如ARRAY、MAP、STRUCT、JSON数据)的处理函数请参见复杂类型函数