Show Every (x)day for the Year

30 November -0001
/* This program shows every Monday, Tuesday, Wednesday, etc. for the year 2001, specified as jDayName */

DECLARE @tmpDay as integer
DECLARE	@tmpMonth as integer

/*These varchar's are used to hold the values used in constructing a datetime syntax varchar for datepart() */
DECLARE	@tmp as varchar(10)
DECLARE @tmp2 as varchar(10)
DECLARE @varcharMonth as varchar(10)

DECLARE @jDayName as varchar(25)
	/*jDayName is the name of the day you wish to find*/
	select @jDayName = 'Monday'
	select @tmpDay = 1
	select @tmpMonth = 1
WHILE @tmpMonth < 13
BEGIN
	WHILE (@tmpMonth=1 OR @tmpMonth=3 OR @tmpMonth=5 OR @tmpMonth=7 OR @tmpMonth=8 OR @tmpMonth=10 OR @tmpMonth=12)
	  BEGIN
		while @tmpDay < 31
			BEGIN
				select @tmp = @tmpDay
				select @varcharMonth = @tmpMonth
				select @tmp = (@varcharMonth + '-' + @tmp + '-2001')
				select @tmp2 = @tmp
				select @tmp = datename(weekday, @tmp)
				IF @tmp = @jDayName
					BEGIN
					print @tmp2 + ' is a ' + @jDayName
					END 
				select @tmpDay = @tmpDay+1
			END	
	  select @tmpMonth = @tmpMonth + 1
	  select @tmpDay = 1
	  END
	  
	WHILE @tmpMonth = 2
	  BEGIN
		while @tmpDay < 28
			BEGIN
				select @tmp = @tmpDay
				select @varcharMonth = @tmpMonth
				select @tmp = (@varcharMonth + '-' + @tmp + '-2001')
				select @tmp2 = @tmp
				select @tmp = datename(weekday, @tmp)
				IF @tmp = @jDayName
					BEGIN
					print @tmp2 + ' is a ' + @jDayName
					END
				select @tmpDay = @tmpDay+1
			END
	  select @tmpMonth = @tmpMonth + 1
	  select @tmpDay = 1	
	  END

	WHILE (@tmpMonth=4 OR @tmpMonth=6 OR @tmpMonth=9 OR @tmpMonth=11)
	  BEGIN
		while @tmpDay < 30
			BEGIN
				select @tmp = @tmpDay
				select @varcharMonth = @tmpMonth
				select @tmp = (@varcharMonth + '-' + @tmp + '-2001')
				select @tmp2 = @tmp
				select @tmp = datename(weekday, @tmp)
				IF @tmp = @jDayName
					BEGIN
					print @tmp2 + ' is a ' + @jDayName
					END
				select @tmpDay = @tmpDay+1
			END
	  select @tmpMonth = @tmpMonth + 1
	  select @tmpDay = 1	
	  END

END