2016-12-16 88 views
0

我注意到,有从标准SQL和传统的SQL功能日期不一致的结果,标准SQL日期VS传统的SQL日期

在标准的SQL,current_date()返回日期数据类型,然而,在传统的SQL,current_date()返回一个String数据类型。

然后,如果我通过使用标准SQL创建具有'日期'列的表,稍后,当我使用旧版SQL查询表时,必须将日期格式从日期数据类型格式化为字符串数据类型,或者相反。

与时间戳数据类型不同,我可以跨不同的SQL语言查询同一个表。有没有简单的方法来查询标准SQL和遗留SQL而无需在数据类型和字符串类型之间进行转换?

预先感谢您。

回答

1

传统SQL有very limited support for the civil time types,所以如果可能的话,最好使用标准SQL。

+0

对我有意义。谢谢。所以最好从Legacy Sql切换到Standard Sql? – HaipengSu

+0

没错。您可能还对[迁移指南](https://cloud.google.com/bigquery/docs/reference/standard-sql/migrating-from-legacy-sql)感兴趣,其中讨论了一些差异。 –

+0

非常感谢 – HaipengSu