27 February, 2011

Get All Friday Date of a Year in MS SQL

--Exec [dbo].getFriday '2011'
Create procedure [dbo].getFriday(@pYear nvarchar(50))
AS
BEGIN
DECLARE @FirstDay datetime
declare @intFlag int
set @FirstDay='01 Jan '+@pYear
set @intFlag=2
if datepart(dw,@FirstDay)=6 --For friday=6,Sunday=1....
print 'Friday: '+@FirstDay
WHILE (@intFlag<=365)
BEGIN
set @FirstDay=DATEADD(dd,1,@FirstDay)
set @intFlag = @intFlag + 1
if datepart(dw,@FirstDay)=6
print 'Friday: '+@FirstDay
END
END

22 February, 2011

Date Time in Ms SQL

 

----Today
SELECT GETDATE()
----Yesterday
SELECT DATEADD(d,-1,GETDATE())
----First Day of Current Week
SELECT DATEADD(wk,DATEDIFF(wk,0,GETDATE()),0)
----Last Day of Current Week
SELECT DATEADD(wk,DATEDIFF(wk,0,GETDATE()),6)
----First Day of Last Week
SELECT DATEADD(wk,DATEDIFF(wk,7,GETDATE()),0)
----Last Day of Last Week
SELECT DATEADD(wk,DATEDIFF(wk,7,GETDATE()),6)
----First Day of Current Month
SELECT DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0)
----Last Day of Current Month
SELECT DATEADD(ms,- 3,DATEADD(mm,0,DATEADD(mm,DATEDIFF(mm,0,GETDATE())+1,0)))
----First Day of Last Month
SELECT DATEADD(mm,-1,DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0))
----Last Day of Last Month
SELECT DATEADD(ms,-3,DATEADD(mm,0,DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0)))
----First Day of Current Year
SELECT DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0)
----Last Day of Current Year
SELECT DATEADD(ms,-3,DATEADD(yy,0,DATEADD(yy,DATEDIFF(yy,0,GETDATE())+1,0)))
----First Day of Last Year
SELECT DATEADD(yy,-1,DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0))
----Last Day of Last Year
SELECT DATEADD(ms,-3,DATEADD(yy,0,DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0)))


Date Format: dd mmm yyyy(01 Jan 2011)

SELECT CONVERT(varchar, DATEADD(mm, DATEDIFF(mm,0, getdate()),0),106) as FirstDayOfMonth
SELECT CONVERT(varchar, DATEADD(mm, DATEDIFF(mm,0, getdate())+1,-1),106) as LastDayOfMonth
SELECT CONVERT(varchar, DATEADD(yy, DATEDIFF(yy,0, getdate()),0),106) as FirstDayOfYear
SELECT CONVERT(varchar, DATEADD(yy, DATEDIFF(yy,0, getdate())+1,-1),106) as LastDayOfYear