web-dev-qa-db-ja.com

BigQuery SQL WHERE現在の日付と-15日の間の日付

BigQueryのSQLのWHERE句で次の条件をコーディングしようとしていますが、構文、特にdate mathに問題があります。

WHERE date_column between current_date() and current_date() - 15 days

これはMySQLでは簡単に思えますが、BigQuery SQLで動作させることはできません。

7

DATE_SUB を使用

select * 
from TableA
where Date_Column between DATE_SUB(current_date(), INTERVAL 15 DAY) and current_date()

betweenには最初に最も古い日付が必要であることを忘れないでください

13
JohnHC

おそらく2つを切り替える必要があります-構文は次のようになります。

WHERE date_column BETWEEN DATE_ADD(CURRENT_DATE(), -15, 'DAY') AND CURRENT_DATE()
7
Siyual

これは私のために動作します。

WHERE DATE(date_column) BETWEEN DATE(DATE_ADD(CURRENT_DATE(), -15, 'DAY'))
AND CURRENT_DATE()
0
ppk28