Quantcast
Channel: SQLServerCentral » SQL Server 2014 » Development - SQL Server 2014 » Latest topics
Viewing all articles
Browse latest Browse all 3145

Case when then dateadd getdate question

$
0
0
Morning folks,I've a field with a date of birth in it.Displayed as YYYY-MM-DDEx: 1990-08-19I would like to use CASE, WHEN, THEN, END AS for this.CASE Person.dobWHEN <= DATEADD(YEAR, -13, GETDATE()) THEN 'Age less than 14'WHEN <= DATEADD(YEAR, -14, GETDATE()) AND >= DATEADD(YEAR, -15, GETDATE()) THEN 'Age 14 to 15'WHEN <= DATEADD(YEAR, -16, GETDATE()) AND >= DATEADD(YEAR, -17, GETDATE()) THEN 'Age 16 to 17'WHEN <= DATEADD(YEAR, -18, GETDATE()) THEN 'Age 18'WHEN <= DATEADD(YEAR, -19, GETDATE()) AND >= DATEADD(YEAR, -20, GETDATE()) THEN 'Age 19 to 20'WHEN <= DATEADD(YEAR, -21, GETDATE()) AND >= DATEADD(YEAR, -25, GETDATE()) THEN 'Age 21 to 25'WHEN <= DATEADD(YEAR, -26, GETDATE()) AND >= DATEADD(YEAR, -35, GETDATE()) THEN 'Age 26 to 35'WHEN <= DATEADD(YEAR, -36, GETDATE()) AND >= DATEADD(YEAR, -45, GETDATE()) THEN 'Age 36 to 45'WHEN <= DATEADD(YEAR, -46, GETDATE()) AND >= DATEADD(YEAR, -55, GETDATE()) THEN 'Age 46 to 55'WHEN <= DATEADD(YEAR, -56, GETDATE()) AND >= DATEADD(YEAR, -65, GETDATE()) THEN 'Age 56 to 65'WHEN <= DATEADD(YEAR, -66, GETDATE()) THEN 'Age 66+'END AS 'Age'When executed, the column should show something like the followingAgeAge 36 to 45Age 26 to 35Age 36 to 45Age 66+Age 66+Age 56 to 65The age range must be accurate as of the date this gets runs.Where have I gone awry as my code above is not working?Thank you

Viewing all articles
Browse latest Browse all 3145

Trending Articles