Just subtract the two datetime values and multiply by 24:
Select Cast((@DateTime2 - @DateTime1) as Float) * 24.0
a test script might be:
Declare @Dt1 dateTime Set @Dt1 = '12 Jan 2009 11:34:12'
Declare @Dt2 dateTime Set @Dt2 = getdate()
Select Cast((@Dt2 - @Dt1) as Float) * 24.0
This works because all datetimes are stored internally as a pair of integers, the first integer is the number of days since 1 Jan 1900, and the second integer (representing the time) is the number of millesconds since Midnight. (For SmallDatetimes the time portion integer is the number of minutes since midnight). Any arithmetic done of the values uses the time portyion as a fraction of a day. 6am = .25, noon = 0.5, etc... See MSDN link here for more details.
So Cast((@Dt2 - @Dt1) as Float) gives you total days between two datetimes. Multiply by 24 to convert to hours. If you need total minutes, Multiple by Minutes per day (24 * 60 = 1440) instaed of 24...