declare @adate datetime select @adate = getdate() select 1,convert(varchar(25),@adate,101) as Date_Value, ''Today'' As Date_Type union select 2,convert(varchar(25),dateadd(dd,-(day(@adate)-1),@adate),101) as Date_Value, ''First_Day_of_Month'' As Date_Type union select 3,convert(varchar(25),dateadd(dd,-(day(@adate)),@adate),101) , ''Last_Day_of_Previous_Month'' union select 4,convert(varchar(25),dateadd(dd,-(day(dateadd(mm,1,@adate))),dateadd(mm,1,@adate)),101) ,''Last_Day_of_Current_Month'' union select 5,convert(varchar(25),dateadd(dd,-(day(dateadd(mm,1,@adate))-1),dateadd(mm,1,@adate)),101) ,''First_Day_of_Next_Month''