FORMULA & SQL / DATES
Check if a date falls on a weekend.
Tested, not guessed.
The Excel and Google Sheets formula and the SQL query, each run on the rows below. Open this with your own data ↗
The example rows
| Row | A: Region | B: Rep | C: Amount | D: Order Date | E: Status | F: Customer |
|---|---|---|---|---|---|---|
| 2 | North | Ana | 1,200 | 2026-03-01 | Paid | Jo Smith |
| 3 | South | Ben | 450 | 2026-03-15 | Open | Raj Patel |
| 4 | North | Cy | 300 | 2026-04-02 | Paid | Lee Wong |
| 5 | East | Ana | 980.50 | 2026-04-20 | Paid | Mia Ross |
| 6 | North | Ben | 75 | 2026-05-05 | Open | Jo Smith |
| 7 | West | Dee | 1,640 | 2026-05-18 | Paid | Sam Okoro |
The formula
Excel
=IF(WEEKDAY(D2,2)>5,"Weekend","Weekday")
If WEEKDAY(Order Date (D2), 2) — which gives the day of the week as a number is more than 5, then "Weekend", otherwise "Weekday".
Run on the example rows:
| Row | Result |
|---|---|
| 2 | Weekend |
| 3 | Weekend |
| 4 | Weekday |
| 5 | Weekday |
| 6 | Weekday |
| 7 | Weekday |
The SQL
PostgreSQL
SELECT *, CASE WHEN EXTRACT(DOW FROM order_date) IN (0, 6) THEN 'Weekend' ELSE 'Weekday' END AS day_type FROM sales
Other databases
MySQL
SELECT *, CASE WHEN DAYOFWEEK(order_date) IN (1, 7) THEN 'Weekend' ELSE 'Weekday' END AS day_type FROM sales
SQLite
SELECT *, CASE WHEN strftime('%w', order_date) IN ('0', '6') THEN 'Weekend' ELSE 'Weekday' END AS day_type
FROM salesBigQuery
SELECT *, CASE WHEN EXTRACT(DAYOFWEEK FROM order_date) IN (1, 7) THEN 'Weekend' ELSE 'Weekday' END AS day_type FROM sales
Snowflake
SELECT *, CASE WHEN DAYOFWEEK(order_date) IN (0, 6) THEN 'Weekend' ELSE 'Weekday' END AS day_type FROM sales
Your own data
Paste your rows into the free tool and it writes this for your columns, then runs it on your data before you copy it. Open the tool ↗