Wednesday, 15 October 2014

Get date and days based on month and year sql server

No comments
SP

CREATE   PROCEDURE [dbo].[GetDateDaily]
@Month int=null ,
@Year int=null

AS 
BEGIN 
DECLARE @DATEFROM AS DATETIME 
DECLARE @DATETO AS DATETIME 
DECLARE @FirstPart AS VARCHAR(50) 
DECLARE @HOLDER TABLE(DATE DATETIME,n varchar(50)) 
SET @DATEFROM =DATEADD(month,@Month-1,DATEADD(year,@Year-1900,0)); 
SET @DATETO = DATEADD(day,-1,DATEADD(month,@Month,DATEADD(year,@Year-1900,0)));   
 
SELECT @FirstPart = (DATENAME(WEEKDAY, (@DATEFROM))) 
INSERT INTO @HOLDER (DATE,n) 
VALUES(@DATEFROM,@FirstPart) 
WHILE @DATEFROM < @DATETO 
BEGIN 
    SELECT @DATEFROM = DATEADD(D, 1, (@DATEFROM)) 
 SELECT @FirstPart =  (DATENAME(WEEKDAY, (@DATEFROM))) 
    INSERT INTO @HOLDER(DATE,n ) 
    VALUES(@DATEFROM,@FirstPart) 
END 

select CONVERT(varchar(10),DATE,105) as DATE,n from @HOLDER


Execution

EXEC GetDateDaily 10 ,2014

output

01-10-2014    Wednesday
02-10-2014    Thursday
03-10-2014    Friday
04-10-2014    Saturday
05-10-2014    Sunday
06-10-2014    Monday
07-10-2014    Tuesday
08-10-2014    Wednesday
09-10-2014    Thursday
10-10-2014    Friday
11-10-2014    Saturday
12-10-2014    Sunday
13-10-2014    Monday
14-10-2014    Tuesday
15-10-2014    Wednesday
16-10-2014    Thursday
17-10-2014    Friday
18-10-2014    Saturday
19-10-2014    Sunday
20-10-2014    Monday
21-10-2014    Tuesday
22-10-2014    Wednesday
23-10-2014    Thursday
24-10-2014    Friday
25-10-2014    Saturday
26-10-2014    Sunday
27-10-2014    Monday
28-10-2014    Tuesday
29-10-2014    Wednesday
30-10-2014    Thursday
31-10-2014    Friday