Quick solution, returns the hour + time fraction (minutes and seconds / 3600)
😎
USE tempdb;
GO
DECLARE @DATE_VAL DATETIME = '2014-07-29 08:16:31.000'
SELECT @DATE_VAL
SELECT DATEPART(HOUR,@DATE_VAL) + (DATEDIFF(SECOND,'00:00:00.000',DATEADD(HOUR, - DATEPART(HOUR, CONVERT(time(3),@DATE_VAL)),CONVERT(time(3),@DATE_VAL))) / 3600.0)
Result
8.275277
Edit: Oops, feel a little silly here, didn't see the answers:-P