SQL DATE_PART

A Postgres function that does exactly what EXTRACT does — same result, function-call syntax with the field name as a text string.

What & Why

DATE_PART('field', source) is functionally identical to EXTRACT(field FROM source) — the only difference is syntax. DATE_PART takes the field name as a quoted text string and uses regular function-call parentheses; EXTRACT uses its own special FROM-based syntax.

See How It Works

BUSINESS QUESTION

Marketing wants lead volume by calendar month.

idcampaign_idemailcreated_atqualified_atconverted_atlead_scoresourcecountry
3011ana@example.com2024-01-21 09:10:00+002024-01-22 11:00:00+002024-02-02 10:00:00+0086google_adsUS
3021ben@example.com2024-01-24 12:40:00+00NULLNULL52google_adsCA
3032chloe@example.com2024-02-16 08:30:00+002024-02-18 14:20:00+00NULL74emailGB
3043dev@example.com2024-03-20 17:15:00+002024-03-21 09:00:00+002024-04-04 16:00:00+0091linkedinUS
EXAMPLE QUERY
SELECT
  DATE_PART('month', created_at)::int AS lead_month,
  COUNT(*) AS leads
FROM marketing.leads
GROUP BY lead_month
ORDER BY lead_month;
RESULT — exact output from the displayed Queryflo rows
lead_monthleads
12
21
31

DATE_PART groups the four lead timestamps into January, February, and March.

Now You Try

Practice this concept

Marketing wants lead volume by calendar month.

Available schema
marketing

Prefix tables with marketing.table_name.

lead_monthleads
marketing.leads
ColumnType
idinteger
campaign_idinteger
emailtext
created_attimestamp with time zone
qualified_attimestamp with time zone
converted_attimestamp with time zone
lead_scoreinteger
sourcetext
countrytext
archive_statustext
query.sql
Intermediate business practice

Sign up free to try it on a real business scenario