Just a note of caution with DateDiff: if you are trying to get a specific timespan, difficulties may arise because it counts the number of times you exceed the boundary you define as your units. e.g.
select datediff (m, '20100131', '20100201')
Returns a result of 1 since it crossed the barrier from January to February; hence, datediff would return a value of 1 even though the span is 2 days because it crossed one date boundary.
select datediff(mi, '2010-01-22 15:29:55.090' , '2010-01-22 15:30:09.153')
Gives a value of 1, indicating that it once crossed the minute barrier. Despite being approximately 14 seconds long, this value would be reported as one minute if the units were minutes.
I hope this helps you.