在BigQuery中,可以使用点运算符(.
)来访问struct字段。以下是一个示例代码,演示了如何在SELECT语句中处理struct字段:
-- 创建一个包含struct字段的表
CREATE TABLE my_table (
id INT64,
name STRING,
address STRUCT
);
-- 插入一些数据
INSERT INTO my_table (id, name, address)
VALUES (1, 'John', STRUCT('123 Main St', 'New York', 'NY')),
(2, 'Jane', STRUCT('456 Elm St', 'Los Angeles', 'CA'));
-- 查询包含struct字段的数据
SELECT id, name, address.street, address.city, address.state
FROM my_table;
在上面的示例中,我们创建了一个名为my_table
的表,其中包含一个名为address
的struct字段。然后,我们插入了一些数据,并使用SELECT语句查询了包含struct字段的数据。
在SELECT语句中,我们使用点运算符(.
)来访问struct字段的子字段。例如,address.street
表示访问address
字段中的street
子字段。
运行上述代码后,你将获得以下结果:
id | name | address.street | address.city | address.state
--------------------------------------------------------------
1 | John | 123 Main St | New York | NY
2 | Jane | 456 Elm St | Los Angeles | CA
从结果中,我们可以看到address.street
、address.city
和address.state
子字段的值被正确提取和显示出来。