Ich möchte, dass diese Funktion eine datetime und die Zeit als Dezimalwert zurückgibt. Z.B. - 2:33 PM würde als 14.55 zurückgegeben werden
ALTER FUNCTION [dbo].[GetTimeAsDecimal](
@DateTime as datetime
) RETURNS decimal
AS
BEGIN
DECLARE @hour decimal
DECLARE @min decimal
DECLARE @result decimal
SELECT @hour = DATEPART(HOUR, @DateTime)
SELECT @min = (DATEPART(MINUTE, @DateTime)/60.0)
SELECT @result = @hour + @min
RETURN @result
END
Eine ähnliche Abfrage führt zu den erwarteten Ergebnissen...
SELECT DATEPART(HOUR, getDate()) + (DATEPART(MINUTE, getDate())/60.0)