簡體   English   中英

Bigquery 中 Where 子句的語法錯誤

[英]Syntax error for Where clause in Bigquery

當我嘗試在以下查詢中使用 where 子句時出現錯誤:

SELECT  
  creation_date
FROM 
  `bigquery-public-data.stackoverflow.stackoverflow_posts`
WHERE
  creation_date BETWEEN 2021-08-01 AND 2021-08-31;

Syntax error : No matching signature for operator BETWEEN for argument types: TIMESTAMP, INT64, INT64.  Supported signature: (ANY) BETWEEN (ANY) AND (ANY) at [6:17] 

正確的做法是什么? 我正在嘗試為 8 月份的 2 個表中的數據創建每日匯總表。

只需查看您正在處理的實際數據類型:以下將起作用:creation_date 是時間戳數據類型,因此轉換為 DATE 並使用引號表示 static 日期。

SELECT  
  creation_date
FROM 
  `bigquery-public-data.stackoverflow.stackoverflow_posts`
WHERE
  DATE(creation_date) BETWEEN '2013-01-02' AND '2021-08-31';

我會試試這個

SELECT  
  creation_date
FROM 
  `bigquery-public-data.stackoverflow.stackoverflow_posts`
WHERE
  creation_date BETWEEN '2021-08-01' AND '2021-08-31';

或這個

SELECT  
  creation_date
FROM 
  `bigquery-public-data.stackoverflow.stackoverflow_posts`
WHERE
  creation_date BETWEEN #2021-08-01# AND #2021-08-31#;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM