在标准SQL(BigQuery)中,用户定义数据类型是由结构体(STRUCT)实现的。
结构体是一种可以包含多个字段的数据类型。每个字段都有自己的名称和数据类型。使用结构体可以更好地组织和管理数据。
下面是一个使用结构体的示例代码:
CREATE TYPE address_type AS STRUCT (
street STRING,
city STRING,
state STRING,
zip_code STRING
);
CREATE TABLE customers (
id INT64,
name STRING,
address address_type
);
INSERT INTO customers (id, name, address)
VALUES (1, 'John Doe', STRUCT('123 Main St', 'New York', 'NY', '10001'));
在上面的示例中,我们首先创建了一个名为address_type
的结构体,它包含了street
、city
、state
和zip_code
这四个字段。
然后,我们创建了一个名为customers
的表,其中address
字段的数据类型是address_type
,表示每个客户的地址信息。
最后,我们插入了一条客户记录,包含了客户的ID、姓名和地址信息。
通过使用结构体,我们可以更好地组织和管理数据,提高查询的灵活性和效率。