Click here to Skip to main content
15,885,546 members
Articles / Database Development / SQL Server
Tip/Trick

Useful DateTime Functions

Rate me:
Please Sign up or sign in to vote.
4.59/5 (23 votes)
5 Mar 2015CPOL 76.6K   35   7
Reminder.Sou...

Reminder.

Source

SQL
----Today
SELECT GETDATE() 'Today'
----Yesterday
SELECT DATEADD(d,-1,GETDATE()) 'Yesterday'

--Start of Current Day
SELECT DATEADD(dd,DATEDIFF(dd,0,GETDATE()),0) 'Start of Current Day'
--End of Current day
SELECT DATEADD(ms,-3,DATEADD(dd,DATEDIFF(dd,0,GETDATE()),1)) 'End of Current day' 

--Start of Yesterday
SELECT DATEADD(dd,DATEDIFF(dd,0,GETDATE()),-1) 'Start of Yesterday'
--End of Yesterday
SELECT DATEADD(ms,-3,DATEADD(dd,DATEDIFF(dd,0,GETDATE()),0)) 'End of Yesterday' 

--First day of week by ISO
SELECT DATEADD(dd,7*(DATEDIFF(dd,'1973-01-01',GETDATE())/7),'1973-01-01') 'First day of current ISO Week'

----First Day of Current Week
SELECT DATEADD(wk,DATEDIFF(wk,0,GETDATE()),0) 'First Day of Current Week'
----Last Day of Current Week
SELECT DATEADD(wk,DATEDIFF(wk,0,GETDATE()),6) 'Last Day of Current Week'
----First Day of Last Week
SELECT DATEADD(wk,DATEDIFF(wk,7,GETDATE()),0) 'First Day of Last Week'
----Last Day of Last Week
SELECT DATEADD(wk,DATEDIFF(wk,7,GETDATE()),6) 'Last Day of Last Week'
----First Day of Current Month
SELECT DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0) 'First Day of Current Month'
----Last Day of Current Month
SELECT DATEADD(ms,- 3,DATEADD(mm,0,DATEADD(mm,DATEDIFF(mm,0,GETDATE())+1,0))) 'Last Day of Current Month'
----First Day of Last Month
SELECT DATEADD(mm,-1,DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0)) 'First Day of Last Month'
----Last Day of Last Month
SELECT DATEADD(ms,-3,DATEADD(mm,0,DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0))) 'Last Day of Last Month'
----First Day of Current Quarter
SELECT DATEADD(qq,DATEDIFF(qq,0,GETDATE()),0) 'First Day of Current Quarter'
----First Day of Current Year
SELECT DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0) 'First Day of Current Year'
----Last Day of Current Year
SELECT DATEADD(ms,-3,DATEADD(yy,0,DATEADD(yy,DATEDIFF(yy,0,GETDATE())+1,0))) 'Last Day of Current Year'
----First Day of Last Year
SELECT DATEADD(yy,-1,DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0)) 'First Day of Last Year'
----Last Day of Last Year
SELECT DATEADD(ms,-3,DATEADD(yy,0,DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0))) 'Last Day of Last Year' <font color="#111111" face="Segoe UI, Arial, sans-serif"><span style="font-size: 14px"> </span></font>

--Date of Monday of current week
SELECT DATEADD(dd,7*(DATEDIFF(dd,'1973-01-01',GETDATE())/7),'1973-01-01') Date_Week
 <font color="#111111" face="Segoe UI, Arial, sans-serif"><span style="font-size: 14px">
</span></font>

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Database Developer Freelancer
Ukraine Ukraine
MS SQL Server Database Developer with 7+ years experience

Technologies/languages: Business Intelligence, SQL, MDX, VBA, SQL Server, Analysis Services (SSAS), Reporting services (SSRS), Integration Services (SSIS), DataWarehouse.
Also: economic background.

Feel free to contact me for rates and details.

Comments and Discussions

 
GeneralMy Vote of 5 Pin
aarif moh shaikh6-Mar-15 20:36
professionalaarif moh shaikh6-Mar-15 20:36 
QuestionPossible Bug Pin
BrianCharles6-Mar-15 7:55
BrianCharles6-Mar-15 7:55 
AnswerRe: Possible Bug Pin
db_developer6-Dec-16 2:36
db_developer6-Dec-16 2:36 
GeneralMy vote of 1 Pin
RedDk5-Mar-15 7:14
RedDk5-Mar-15 7:14 
GeneralVote of 5 Pin
Clark Kent1235-Mar-15 1:35
professionalClark Kent1235-Mar-15 1:35 
QuestionYou look backwards Pin
Herman<T>.Instance3-Jan-14 4:45
Herman<T>.Instance3-Jan-14 4:45 
GeneralMy vote of 5 Pin
chetan patidar25-Jul-12 0:18
chetan patidar25-Jul-12 0:18 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.