使用 CAST 更改数组中的字段名称
要更改包含 ROW 值的数组中的字段名称,您可以对 ROW 声明执行 CAST 操作:
WITH dataset AS ( SELECT CAST( ROW('Bob', 38) AS ROW(name VARCHAR, age INTEGER) ) AS users ) SELECT * FROM dataset
此查询返回:
+--------------------+
| users |
+--------------------+
| {NAME=Bob, AGE=38} |
+--------------------+注意
在上述示例中,您可以将 name 声明为 VARCHAR,因为这是它在 Presto 中的类型。如果您在 CREATE TABLE 语句中声明此 STRUCT,请使用 String 类型,因为 Hive 将此数据类型定义为 String。