Google bigquery 使用bq将数据加载到BigQuery的自定义日期格式?

Google bigquery 使用bq将数据加载到BigQuery的自定义日期格式?,google-bigquery,Google Bigquery,我正在使用命令行上的bq load将CSV文件上传到Google BigQuery。它工作得很好,但我有一个关于动态转换时间戳的问题 在我的源数据中,我的时间戳格式为YYYYMM,例如201303表示2013年3月 但是,Google BigQuery的文档仅支持Unix时间戳和YYYY-MM-DD HH:MM:SS格式字符串。因此,毫不奇怪,当我加载数据时,这些字段不会转换为正确的日期 我有没有办法向BigQuery传达这些是YYYYMM字符串 如果没有,我可以在加载之前转换它们,但我有大约1

我正在使用命令行上的
bq load
将CSV文件上传到Google BigQuery。它工作得很好,但我有一个关于动态转换时间戳的问题

在我的源数据中,我的时间戳格式为
YYYYMM
,例如
201303
表示2013年3月

但是,Google BigQuery的文档仅支持Unix时间戳和
YYYY-MM-DD HH:MM:SS
格式字符串。因此,毫不奇怪,当我加载数据时,这些字段不会转换为正确的日期

我有没有办法向BigQuery传达这些是
YYYYMM
字符串


如果没有,我可以在加载之前转换它们,但我有大约1TB的源数据,因此我希望尽可能避免:)

另一种选择是将此字段作为字符串加载,并将其转换为BigQuery本身内部的时间戳,将数据复制到另一个表中(然后删除原始表),并进行以下转换:

SELECT TIMESTAMP(your_ts_str + "01") AS ts

可以通过以下方式替代Mosha的答案:


选择日期(CONCAT(你的“01”)作为ts

,看起来很有希望!您知道是否可以在BigQuery中将其添加为新列吗?看起来这是添加新列的方法:只是为了了解此答案是否符合我的需要-您知道是否可以将转换后的时间戳值插入BigQuery中的新列中吗?此答案假设您将通过发出SELECT和为目标表选择新名称,并可能还设置AllowLargeResults=true