• 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