The MySQL DATE_SUB function subtracts a custom time interval from a date.
Employees Table
employeeID | employeeName | retirementDate | 
|---|---|---|
| 1000 | John Smith | 2025-12-03 | 
| 1001 | Fred White | 2031-10-12 | 
| 1002 | Jane Scott | 2028-05-01 | 
| 1003 | Samuel Williams | 2021-01-03 | 
In this example, we want to determine the year before an employee is scheduled to retire.
Syntax
DATE_SUB(date,INTERVAL interval format)
Formats
MICROSECONDSECONDMINUTEHOURDAYWEEKMONTHQUARTERYEARSECOND_MICROSECONDMINUTE_MICROSECONDMINUTE_SECONDHOUR_MICROSECONDHOUR_SECONDHOUR_MINUTEDAY_MICROSECONDDAY_SECONDDAY_MINUTEDAY_HOURYEAR_MONTH
Example
SELECT employeeName as [Employee Name], DATE_SUB(retirementDate INTERVAL 1 YEAR) as [Eligible for Early Retirement]
FROM employees
Results
| Employee Name | Eligible for Early Retirement | 
|---|---|
| John Smith | 2024 | 
| Fred White | 2030 | 
| Jane Scott | 2027 | 
| Samuel Williams | 2020 | 











