Cross-DB Guide: How to Add Time to Dates in SQL


Do you need to calculate future dates or automate time-based logic in SQL? Adding days, months, or years to a date is a core operation, but every database handles it differently.
This article shows how to perform date addition in MySQL, PostgreSQL, SQL Server, and Oracle using simple syntax and examples.
How It’s Done
MySQL
SELECT DATE_ADD('2024-01-06', INTERVAL 1 MONTH);
PostgreSQL
SELECT '2024-03-17' + INTERVAL '1 year';
SQL Server
SELECT DATEADD(day, 5, '2024-06-25');
Oracle
SELECT ADD_MONTHS(TO_DATE('2024-02-06', 'YYYY-MM-DD'), 12);
FAQ
Do all SQL dialects support this the same way?
No. The syntax varies per system.
What if the date becomes invalid (e.g., Feb 30)?
It may auto-adjust or return NULL
.
Can I subtract time?
Yes—use negative values in the interval.
Conclusion
Adding intervals to dates is essential for time-aware applications, from billing cycles to content publishing. You now know how to handle this in MySQL, PostgreSQL, SQL Server, and Oracle using the correct built-in functions.
If you're working across databases and want to test these features side-by-side, try DbVisualizer—a flexible SQL client that supports all the examples in this guide. Check out SQL Add to Date Operations: A Complete Guide for more insights.
Subscribe to my newsletter
Read articles from DbVisualizer directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

DbVisualizer
DbVisualizer
DbVisualizer is the database client with the highest user satisfaction. It is used for development, analytics, maintenance, and more, by database professionals all over the world. It connects to all popular databases and runs on Win, macOS & Linux.