sql - bigquery sql 中的文字和别名之间缺少空格

标签 sql google-bigquery

我有这个 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/

相关文章:

mysql - 任何人都可以看看 mySQL 吗?

php - 我可以写入 SQL,但读取时一无所获

sql - 从 VARCHAR 转换为 DATE

sql - 忽略Oracle DUP_VAL_ON_INDEX异常有多严重?

python - 打印以查看 BigQuery 查询的结果

google-bigquery - 在 Big Query Web 界面上使用表装饰器

SQL Server : Filter for only the rows directly after a row containing specific text

python - 如何在 Google BigQuery 中进行数据透视

google-cloud-platform - 查询 Bigquery 重复字段

sql - 在WITH子句中创建日期列表 - GG Big Query