我有这个 SQL 查询:
SELECT job_id
FROM user_job fb
WHERE extract(date from timestamp) BETWEEN extract(Date from 2021-03-17)
我得到这个错误:
google.api_core.exceptions.BadRequest: 400 Syntax error: Missing whitespace between literal and alias at [1:137]
最佳答案
BigQuery 会根据上下文自动识别格式正确的日期。 在您的情况下,您的查询可以简化为
SELECT
job_id
FROM
user_job
WHERE
`timestamp` BETWEEN "2021-03-17" AND "2021-03-31"
这里最重要的是引号:你的日期必须在单引号或双引号内,这里因为“timestamp”是一个 BigQuery 函数,你需要使用反引号指定它的列名`` (或者像你一样使用别名但不是必需的,实际上反引号也不是必需的 - BQ 理解 - 但它更干净)
关于sql - bigquery sql 中的文字和别名之间缺少空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67075060/