| Author |
Topic |
|
AdenJones
Starting Member
17 Posts |
Posted - 2009-12-30 : 03:07:07
|
The following is an amended query for returning people whos birthdays fall within 7 days of today. It has been amended to be able to deal with a new year.SELECT *, (DATEPART(dayofyear,DATEADD(year,DATEDIFF(year,DateOfBirth,GETDATE()),DateOfBirth)) - DATEPART(dayofyear,GETDATE())) AS days_till_birthdayFROM view_memberWHERE (CASE WHEN DATEPART(dayofyear,DATEADD(day,1,GETDATE())) > DATEPART(dayofyear,DATEADD(day,7,GETDATE())) THEN DATEPART(dayofyear,DATEADD(year,DATEDIFF(year,DateOfBirth,GETDATE()),DateOfBirth)) >= DATEPART(dayofyear,DATEADD(day,1,GETDATE())) OR DATEPART(dayofyear,DATEADD(year,DATEDIFF(year,DateOfBirth,GETDATE()),DateOfBirth)) <= DATEPART(dayofyear,DATEADD(day,7,GETDATE())) ELSE DATEPART(dayofyear,DATEADD(year,DATEDIFF(year,DateOfBirth,GETDATE()),DateOfBirth)) BETWEEN DATEPART(dayofyear,DATEADD(day,1,GETDATE())) AND DATEPART(dayofyear,DATEADD(day,7,GETDATE())) END)AND MemberStatus IN('Member','WaitList')ORDER BY days_till_birthday ASCIam getting the message: incorrect syntax near > on line 6Any help would be greatly appreciated.Cheers |
|
|
madhivanan
Premature Yak Congratulator
22864 Posts |
Posted - 2009-12-30 : 03:18:34
|
Try thisSELECT *, (DATEPART(dayofyear,DATEADD(year,DATEDIFF(year,DateOfBirth,GETDATE()),DateOfBirth)) - DATEPART(dayofyear,GETDATE())) AS days_till_birthdayFROM view_memberWHERE ( (DATEPART(dayofyear,DATEADD(day,1,GETDATE())) > DATEPART(dayofyear,DATEADD(day,7,GETDATE())) AND DATEPART(dayofyear,DATEADD(year,DATEDIFF(year,DateOfBirth,GETDATE()),DateOfBirth)) >= DATEPART(dayofyear,DATEADD(day,1,GETDATE())) OR DATEPART(dayofyear,DATEADD(year,DATEDIFF(year,DateOfBirth,GETDATE()),DateOfBirth)) <= DATEPART(dayofyear,DATEADD(day,7,GETDATE())) ) OR (DATEPART(dayofyear,DATEADD(year,DATEDIFF(year,DateOfBirth,GETDATE()),DateOfBirth)) BETWEEN DATEPART(dayofyear,DATEADD(day,1,GETDATE())) AND DATEPART(dayofyear,DATEADD(day,7,GETDATE())) ))AND MemberStatus IN('Member','WaitList')ORDER BY days_till_birthday ASCMadhivananFailing to plan is Planning to fail |
 |
|
|
AdenJones
Starting Member
17 Posts |
Posted - 2009-12-30 : 03:25:09
|
| That seemed to do the trick though Iam still curious as to why it didn't like the case clauses.Cheers |
 |
|
|
madhivanan
Premature Yak Congratulator
22864 Posts |
Posted - 2009-12-30 : 04:00:29
|
| Read about CASE expressions in SQL Server help fileMadhivananFailing to plan is Planning to fail |
 |
|
|
|
|
|