CURRENT_DATE returns the server-side current date (without time) as a DATE value.
CURRENT_DATE returns the date according to the server’s timezone. It comes back as a DATE type (YYYY-MM-DD) with no time component, making it ideal for date comparisons, partitioning, and audit fields.
Place CURRENT_DATE anywhere a DATE literal is allowed. Example: SELECT CURRENT_DATE;
or include it in a SELECT list alongside other columns.
Add or subtract INTERVAL values. Example: CURRENT_DATE + INTERVAL '7 days'
gets the date one week from today. Use negative intervals for past dates.
Yes. Insert it directly or set a column’s default to CURRENT_DATE. This ensures every new row captures the insert date automatically.
Use CURRENT_DATE for date-only logic such as report cut-offs. For precise timestamps, prefer NOW() or CURRENT_TIMESTAMP. Keep server timezone settings consistent across environments.
Filter today’s orders, calculate customer tenure, or build daily inventory snapshots. It pairs well with BETWEEN for date ranges like “today”.
Yes. CURRENT_DATE avoids an implicit cast, making it marginally faster and clearer.
No. It is evaluated once per statement, ensuring consistency within multi-row inserts or updates.
Absolutely. DATE columns work with B-tree indexes for quick range scans and equality checks.