SQL

EXTRACT — Pull Parts Out of a Timestamp

admin by @admin ADMIN
1d ago
May 31, 2026
Public
0 0 up · 0 down Sign in to vote
`EXTRACT(field FROM timestamp)` pulls year, month, hour, day-of-week, week, epoch — whatever you need to group, filter, or render. Standard SQL across every database.
SQL
Raw
-- Common parts
SELECT EXTRACT(YEAR  FROM NOW())     AS year,        -- 2025
       EXTRACT(MONTH FROM NOW())     AS month,       -- 3
       EXTRACT(DAY   FROM NOW())     AS day,         -- 12
       EXTRACT(HOUR  FROM NOW())     AS hour,
       EXTRACT(DOW   FROM NOW())     AS day_of_week, -- 0=Sunday … 6=Saturday
       EXTRACT(DOY   FROM NOW())     AS day_of_year, -- 1 … 366
       EXTRACT(WEEK  FROM NOW())     AS iso_week,
       EXTRACT(QUARTER FROM NOW())   AS quarter,
       EXTRACT(EPOCH FROM NOW())     AS unix_ts;     -- seconds since epoch

-- Group by hour-of-day across the whole table
SELECT EXTRACT(HOUR FROM created_at) AS hour_of_day,
       COUNT(*)                      AS event_count
FROM   events
GROUP  BY hour_of_day
ORDER  BY hour_of_day;

-- Filter by month (year-agnostic)
SELECT * FROM birthdays
WHERE  EXTRACT(MONTH FROM birth_date) = 3;

-- Difference in seconds (PostgreSQL — EXTRACT(EPOCH FROM interval))
SELECT EXTRACT(EPOCH FROM (NOW() - created_at)) AS seconds_old
FROM   sessions;

-- MySQL — same syntax works, plus DATE_FORMAT for arbitrary part extraction
SELECT YEAR(NOW()), MONTH(NOW()), DAYOFWEEK(NOW()), WEEK(NOW(), 3);
Tags

Save your own code snippets

Create a free account and build your private vault. Share publicly whenever you want.