Ich möchte diese Funktion eine Datetime und geben Sie die Zeit als Dezimalzahl zurückgegeben. Z.B. - 14.33 würde wieder als 14,55Warum gibt diese Funktion nicht dezimal zurück?
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, um die erwarteten Ergebnisse erzeugt ...
SELECT DATEPART(HOUR, getDate()) + (DATEPART(MINUTE, getDate())/60.0)
Nicht 2:33 übersetzt in 14,55 (wie 33/60 = 0,55)? Wenn die ähnliche Abfrage funktioniert, warum nicht verwenden? – LittleBobbyTables
Ja, das war ein Tippfehler. Es ist korrigiert. Muss ich dir wirklich sagen, warum ich lieber eine Funktion hätte? –
Nein, nehme ich nicht an :) – LittleBobbyTables