BigQuery标准SQL中的最小时间戳

3
当我在Bigquery中使用标准SQL运行以下简单查询时,出现如下错误:
SELECT MIN(created) as mm FROM `projectId.ds.User`

创建的列的数据类型为 cloud.helix.Timestamp,与 INT64 的预期类型不同。取消

创建字段的数据类型为 Timestamp,可为空,但不包含空值。

但是,在 Legacy SQL 中,此查询可以正常工作:

SELECT MIN(created) as mm FROM [projectId:ds.User]

任何建议吗?

你是否同时使用相同的时间戳数据类型?如果DT字符串用于存储1970年之前的日期,则使用Unix现在将会抛出错误... - JohnHC
这些表是相同的。实际上只有一个名为User的表,但访问它的语法不同。在BigQuery中,您可以设置一个标志“使用传统SQL”来切换查询语法。据我所知(作为用户),使用完全相同的TIMESTAMP数据类型。 - Paul Bendevis
更加令人毛骨悚然的是,我可以在另一个具有相同创建字段、数据类型为TIMESTAMP且可为空的表上运行这个现代SQL查询,而且没有任何错误。 - Paul Bendevis
它会给出相同的错误。即使我执行SELECT cast(created as Date),我仍然会得到相同的错误。 - Paul Bendevis
2
有些东西正在生成一个传统的时间戳表示,而标准的SQL引擎并不希望看到这种表示。您可能希望在公共跟踪器上为此问题加星以获取更新,我也会在这里跟进,当我了解更多时。请点击此处访问公共跟踪器:https://code.google.com/p/google-bigquery/issues/detail?id=841 - Elliott Brossard
显示剩余3条评论
1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接