Derive Attrb
Derive Attrb
Below is a list of SQL Date functions with descriptions, followed by several examples of
each. Hopefully, this will serve as a good quick reference when working with dates in T-
SQL coding.
Syntax: DAY(date)
--Example of DAY():
SELECT GETDATE(), DAY(GETDATE()) , DAY('20210101'), DAY('2021-05-30
15:46:19.277');
GO
Results:
Syntax: MONTH(date)
--Example of MONTH():
SELECT GETDATE(), MONTH(GETDATE()) , MONTH('20210101'), MONTH('2021-05-30
15:46:19.277');
GO
Results:
--Example of YEAR():
SELECT GETDATE(), YEAR(GETDATE()) , YEAR('20210101'), YEAR('2021-05-30
15:46:19.277');
GO
Results:
--Example of EOMONTH(): Shows the use of the offset optional parameter with
the GETDATE function which is the current date
SELECT EOMONTH(GETDATE()) as 'End Of Current Month',
EOMONTH(GETDATE(),-1) as 'End Of Last Month',
EOMONTH(GETDATE(),6) as 'End Of Month +6';
GO
Results:
--Example of DATEADD():
SELECT DATEADD(DAY,1,'2021-01-01') as 'Add 1 Day',
DATEADD(WEEK,1,'2021-01-01') as 'Add 1 Week',
DATEADD(MONTH,1,'2021-01-01') as 'Add 1 Month',
DATEADD(YEAR,1,'2021-01-01') as 'Add 1 Year';
GO
Results:
*The following example will use the date part names rather than the abbreviation.
--Example of DATEDIFF():
SELECT DATEDIFF(DAY,'2021-01-01','2021-02-01') as 'Number of Days in January',
DATEDIFF(WEEK,'2021-01-01','2022-01-01') as 'Weeks in the Year',
DATEDIFF(MONTH,'2021-01-01','2022-01-01') as 'Months in the Year',
DATEDIFF(YEAR,'1900-01-01',GETDATE()) as 'Years Since 1900';
GO
Results:
--Example of DATEDIFF_BIG():
SELECT DATEDIFF_BIG(MILLISECOND, '01-01-2020', '01-01-2021') as 'Milliseconds
in a Year'
SELECT DATEDIFF_BIG(NANOSECOND, '01-01-2020', '01-01-2021') as 'Nanoseconds in
a Year'
GO
Results: