How to Work with Dates in BigQuery

Last updated July 26, 2026 · By the SaturnSQL team

CURRENT_DATE() gets today's date, DATE_ADD/DATE_SUB shift it by an interval, DATE_DIFF measures the gap between two dates, and DATE_TRUNC rounds to a period boundary.

SELECT CURRENT_DATE() AS today,
       DATE_ADD(CURRENT_DATE(), INTERVAL 7 DAY) AS next_week,
       DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH) AS last_month;

Differences and truncation

SELECT DATE_DIFF(CURRENT_DATE(), order_date, DAY) AS days_since_order,
       DATE_TRUNC(order_date, MONTH) AS order_month
FROM orders;

CURRENT_DATE() uses UTC by default; pass a timezone name like CURRENT_DATE('America/New_York') if your dates need to line up with a specific region.

Run this in SaturnSQL

SaturnSQL is a browser-based SQL editor for teams: shared query library, schema-aware autocomplete, and scheduled exports to Google Sheets and Slack.

Try it free

Related BigQuery guides