如何在 BigQuery 中将此旧版 SQL 转换为标准 SQL?
Posted
技术标签:
【中文标题】如何在 BigQuery 中将此旧版 SQL 转换为标准 SQL?【英文标题】:How can I translate this legacy SQL to standard SQL in BigQuery? 【发布时间】:2021-07-29 09:58:28 【问题描述】:我需要将其翻译成 BigQuery。任何人都可以帮忙吗?谢谢
IF DATEDIFF('day',DATEADD('day',7,snapshot_date),TODAY(),'monday')>=1
THEN 1
END
这是我遇到的错误。
Google BigQuery 标准 SQL 数据库在执行时遇到错误 运行此查询。查询执行失败:- 语法错误:预期 "(" 但在 [2:25] 得到标识符 "DATEDIFF"
【问题讨论】:
【参考方案1】:试试这个:
case when DATE_DIFF(DATE_ADD(snapshot_date, INTERVAL 7 DAY), CURRENT_DATE(), WEEK(MONDAY)) >= 1 then 1 end
【讨论】:
【参考方案2】:试试这个 (docs):
IF(DATE_DIFF(DATE_ADD(snapshot_date, INTERVAL 7 DAY), CURRENT_DATE(), WEEK(MONDAY)) >= 1, 1, NULL)
【讨论】:
以上是关于如何在 BigQuery 中将此旧版 SQL 转换为标准 SQL?的主要内容,如果未能解决你的问题,请参考以下文章
无法将 BigQuery 旧版 SQL 转换为 HAVING LEFT(...) 的标准 SQL
标准 sql 中的 bigquery 旧版 sql POSITION() 函数