Quiero que esta función tome una fecha y devuelva el tiempo expresado como un decimal. P.EJ. - 14:33 sería devuelto como 14,55¿por qué esta función no devuelve decimal?
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
Una consulta similar produce los resultados esperados ...
SELECT DATEPART(HOUR, getDate()) + (DATEPART(MINUTE, getDate())/60.0)
¿No se traduce 2:33 a 14.55 (como 33/60 = 0.55)? Además, si la consulta similar funciona, ¿por qué no usar eso? – LittleBobbyTables
Sí, ese bit fue un error tipográfico. Esta corregido ¿Realmente necesito decirte por qué preferiría tener una función? –
No, supongo que no :) – LittleBobbyTables