DECLARE @Date DATETIME
SELECT @Date = GETDATE()
----Last Day of Previous Month
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,@Date),0)) LastDay_PreviousMonth
----Last Day of Current Month
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,@Date)+1,0)) LastDay_CurrentMonth
----Last Day of Next Month
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,@Date)+2,0)) LastDay_NextMonth
--First Day of Previous Month
SELECT DATEADD(mm, DATEDIFF(m,0,@Date)-1,0) FirstDay_PreviousMonth
--First Day of Current Month
SELECT DATEADD(mm, DATEDIFF(m,0,@Date),0) FirstDay_CurrentMonth
--First Day of Next Month
SELECT DATEADD(mm, DATEDIFF(m,0,@Date),0) FirstDay_NextMonth
--First Day of Prev Week
SELECT DATEADD(DAY,-1,DATEADD(WEEK, DATEDIFF(WEEK,0,@Date)-1,0)) FirstDay_PreviousWeek
--First Day of Current Week
SELECT DATEADD(DAY,-1,DATEADD(WEEK, DATEDIFF(WEEK,0,@Date),0)) FirstDay_CurrentWeek
--First Day of Next Week
SELECT DATEADD(DAY,-1,DATEADD(WEEK, DATEDIFF(WEEK,0,@Date+7),0)) FirstDay_NextWeek
--Last Day of Prev Week
SELECT DATEADD(DAY,5,DATEADD(WEEK, DATEDIFF(WEEK,0,@Date)-1,0)) LastDay_PreviousWeek
--Last Day of Current Week
SELECT DATEADD(DAY,5,DATEADD(WEEK, DATEDIFF(WEEK,0,@Date),0)) LastDay_CurrentWeek
--Last Day of Next Week
SELECT DATEADD(DAY,5,DATEADD(WEEK, DATEDIFF(WEEK,0,@Date+7),0)) LastDay_NextWeek
--Last week alone
DECLARE @StartDateTime DATE, @EndDateTime DATE
SELECT @StartDateTime = DATEADD(WEEK,-1,GETDATE())
- DATEPART(WEEKDAY,DATEADD(WEEK,-1,GETDATE()))+1
, @EndDateTime =
DATEADD("dd", 6, @StartDateTime)
SELECT @StartDateTime, @EndDateTime
SELECT @Date = GETDATE()
----Last Day of Previous Month
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,@Date),0)) LastDay_PreviousMonth
----Last Day of Current Month
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,@Date)+1,0)) LastDay_CurrentMonth
----Last Day of Next Month
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,@Date)+2,0)) LastDay_NextMonth
--First Day of Previous Month
SELECT DATEADD(mm, DATEDIFF(m,0,@Date)-1,0) FirstDay_PreviousMonth
--First Day of Current Month
SELECT DATEADD(mm, DATEDIFF(m,0,@Date),0) FirstDay_CurrentMonth
--First Day of Next Month
SELECT DATEADD(mm, DATEDIFF(m,0,@Date),0) FirstDay_NextMonth
--First Day of Prev Week
SELECT DATEADD(DAY,-1,DATEADD(WEEK, DATEDIFF(WEEK,0,@Date)-1,0)) FirstDay_PreviousWeek
--First Day of Current Week
SELECT DATEADD(DAY,-1,DATEADD(WEEK, DATEDIFF(WEEK,0,@Date),0)) FirstDay_CurrentWeek
--First Day of Next Week
SELECT DATEADD(DAY,-1,DATEADD(WEEK, DATEDIFF(WEEK,0,@Date+7),0)) FirstDay_NextWeek
--Last Day of Prev Week
SELECT DATEADD(DAY,5,DATEADD(WEEK, DATEDIFF(WEEK,0,@Date)-1,0)) LastDay_PreviousWeek
--Last Day of Current Week
SELECT DATEADD(DAY,5,DATEADD(WEEK, DATEDIFF(WEEK,0,@Date),0)) LastDay_CurrentWeek
--Last Day of Next Week
SELECT DATEADD(DAY,5,DATEADD(WEEK, DATEDIFF(WEEK,0,@Date+7),0)) LastDay_NextWeek
--Last week alone
DECLARE @StartDateTime DATE, @EndDateTime DATE
SELECT @StartDateTime = DATEADD(WEEK,-1,GETDATE())
- DATEPART(WEEKDAY,DATEADD(WEEK,-1,GETDATE()))+1
, @EndDateTime =
DATEADD("dd", 6, @StartDateTime)
SELECT @StartDateTime, @EndDateTime