I have a table like this: 

```
ID|Date    |Name|Score  
1 |1/1/2014|Erin|20.2  
2 |6/3/2014|Erin|21.2  
3 |7/2/2015|Emil|34.2    
4 |1/1/2016|Erin|20.2  
5 |2/2/2011|Paul|20.2  
6 |1/1/2012|John|54.2  
7 |1/1/2017|John|54.2  
8 |12/31/2016|Erin|23.2

```

I want the data back 5 years based on the year I provide.  

I am using this: 

```
select * from tblStdnt where date > DATEADD(Year,DATEDIFF(year,0, '2016')- 5, 0) 

```

But this gives me data starting from 2017. How do I fix this? any ideas?

It should give me: 

> 
> all data from 2011 to 2016 (the 5 year period, regardless of the month or day) 
> 
> 
> 

**UPDATE**  

[DBFiddle link](http://dbfiddle.uk/?rdbms=sqlserver_2014&fiddle=a842bd0eecc96039e61412d5bfdeefb3)