Google bigquery BigQuery创建标准sql和传统sql之间的表差异

Google bigquery BigQuery创建标准sql和传统sql之间的表差异,google-bigquery,bigquery-standard-sql,legacy-sql,Google Bigquery,Bigquery Standard Sql,Legacy Sql,关于标准和传统sql中的CREATETABLE语法,我有几个问题 新的BigQueryUI不显示标准sql类型,只显示遗留类型。我知道它们与遗留类型一一对应,但创建中的示例显示了UI中不可用的选项 如果我使用JSON字段模式创建表,我仍然可以使用标准sql吗? BigQueryUI只显示了按摄取时间对表进行分区,但是我想创建一个带有日期列的表,我没有看到它的选项。如果我必须手动创建DDL,我没有看到关于如何使用JSON字段模式构造CREATETABLE语句的示例。 新的BigQueryUI不显示

关于标准和传统sql中的CREATETABLE语法,我有几个问题

新的BigQueryUI不显示标准sql类型,只显示遗留类型。我知道它们与遗留类型一一对应,但创建中的示例显示了UI中不可用的选项 如果我使用JSON字段模式创建表,我仍然可以使用标准sql吗? BigQueryUI只显示了按摄取时间对表进行分区,但是我想创建一个带有日期列的表,我没有看到它的选项。如果我必须手动创建DDL,我没有看到关于如何使用JSON字段模式构造CREATETABLE语句的示例。 新的BigQueryUI不显示标准sql类型

BigQuery standardSQL和LegacySQL是编写SQL语法的两个选项。有关详细信息,请参见本文,与BigQuery中的列类型无关,有关表类型的详细信息可以在本文中找到,我也觉得这很有帮助

如果我使用JSON字段模式创建表,我仍然可以使用标准sql吗

要使用JSON创建表,您需要运行bq,如果您需要如何编写此语法的帮助,请告诉我们

但我想创建一个带有日期列的表,但我看不到它的选项

可以使用此标准SQL语法执行以下操作:

#standardSQL
CREATE OR REPLACE TABLE `project.dataset.tableId`
PARTITION BY myDate
CLUSTER BY cluster_col AS
SELECT * from sourceTable

注意:myDate列是源表中的一列

谢谢Tamir。如果我要创建的表是一个全新的表,我要将数据流传输到其中,该怎么办?然后,我似乎必须创建一个没有记录的虚拟表,并使用您提供的查询来创建我想要的表。如果你觉得我的回答对你有帮助,请考虑接受和投票。up@PK109,注意:重要提示-您可以使用投递答案左侧投票下方的勾号标记接受答案。看看为什么它很重要!