bigQuery中的标准模式下的year函数

时间:2016-11-16 17:48:37

标签: sql google-bigquery

我正在编写一个查询来比较今年提交的当年和我在BigQuery string((year(current_date())))中使用此命令。
我收到行" ON clause must be AND of = comparisons of one field name from each table, with all field names prefixed with table name. ."的{​​{1}}错误,因为它没有比较表中的列而只是使用来自时间戳的月份。有工作吗?

(d.month) = String(Month((order.order_timestamp)))

1 个答案:

答案 0 :(得分:1)

这里的主要问题是您正在将标准SQL与旧版SQL混合使用 将SQL Mode设置为Standard并不会将Legacy SQL神奇地转换为标准SQL。例如,INNER JOIN EACH,[dataset.table]概念,YEAR(),INTEGER()等都来自旧版SQL,标准SQL不支持

因此,您实际上需要将代码转换为标准SQL - 有关详细信息,请参阅Migrating from legacy SQL