Desidero che questa funzione prenda un datetime e restituisca l'ora espressa come decimale. PER ESEMPIO. - 14:33 verrebbe restituito come 14,55perché questa funzione non restituisce i decimali?
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 query simile produce i risultati attesi ...
SELECT DATEPART(HOUR, getDate()) + (DATEPART(MINUTE, getDate())/60.0)
Non 2:33 tradurre in 14,55 (come 33/60 = 0,55)? Inoltre, se la query simile funziona, perché non usarla? – LittleBobbyTables
Sì, quel bit era un refuso. È corretto Ho davvero bisogno di dirti perché preferirei avere una funzione? –
No, suppongo di no :) – LittleBobbyTables