Beyondrelational

Thursday, June 3, 2010

Start and End Date from SQL Server

Declare @From varchar(10), @To varchar(10)

Select @From='jan 10', @To='Jul 10'

Select cast('01 '+@From as datetime), dateadd(month,0,cast('01 '+@To as datetime)),
dateadd(day,-1,(dateadd(month,1,cast('01 '+@To as datetime))))

Select Columns From Table
Where
date_col>=cast('01 '+@From as datetime) And
date_col


------------------------------------------------------------------------

Declare @m INT, @y INT, @dt SMALLDATETIME,
@Stdate datetime, @EndDate datetime,
@date datetime,@date1 datetime

SELECT @m = 01, @y = 10, @dt = RTRIM(@y) + '0101';
SET @date=DATEADD(DAY, 0, DATEADD(MONTH, @m, @dt))
SET @date1=DATEADD(DAY, -1, DATEADD(MONTH, @m, @dt))
SET @Stdate=DATEADD(DAY, 0, DATEADD(MONTH, @m-1, @dt))
SET @Enddate=DATEADD(DAY, -1, DATEADD(MONTH, @m+0, @dt))
select @stdate as StartDate, @EndDate AS EndDate,@date AS Date,@date1 AS Date1

----Last Day of Previous Month
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0))
LastDay_PreviousMonth
----Last Day of Current Month
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+1,0))
LastDay_CurrentMonth
----Last Day of Next Month
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+2,0))
LastDay_NextMonth

--Last Day of Any Month and Year
DECLARE @dtDate DATETIME
SET @dtDate = '8/18/2007'
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,@dtDate)+1,0))
LastDay_AnyMonth

No comments:

Post a Comment