dataengref migrate

Home / SQL Server

SQL Server DATEADD in Snowflake, Databricks and BigQuery

Snowflake and Databricks both have DATEADD(unit, n, date) with the same argument order as SQL Server. BigQuery uses DATE_ADD, DATETIME_ADD or TIMESTAMP_ADD with an INTERVAL, and the date comes first.

SQL Server function: DATEADD(datepart, number, date) · SQL Server docs

Equivalents

TargetSupportSyntaxNotesSource
SnowflakeSame nameDATEADD(date_or_time_part, value, date_or_time_expr)Same argument order. Also accepts abbreviations such as dd and mm.Snowflake docs
DatabricksSame namedateadd(unit, value, expr)Synonym of timestampadd, available in Databricks Runtime 10.4 LTS and above. Returns a TIMESTAMP. The two-argument dateadd(startDate, numDays) form adds days to a DATE.Databricks docs
BigQueryRewriteDATE_ADD(date_expression, INTERVAL int64 date_part)Pick the function by input type: DATE_ADD for DATE, DATETIME_ADD for DATETIME, TIMESTAMP_ADD for TIMESTAMP.BigQuery docs

Behavior differences to check

Databricks

BigQuery

Examples

Due date 30 days after the invoice date

SQL Server
SELECT invoice_id, DATEADD(day, 30, invoice_date) AS due_date FROM invoices;
Snowflake
SELECT invoice_id, DATEADD(day, 30, invoice_date) AS due_date FROM invoices;
Databricks
SELECT invoice_id, CAST(dateadd(DAY, 30, invoice_date) AS DATE) AS due_date FROM invoices;
BigQuery
SELECT invoice_id, DATE_ADD(invoice_date, INTERVAL 30 DAY) AS due_date FROM invoices;

Other SQL Server functions

Last checked: · Paste a whole query into the SQL checker to find every function that needs a change.