Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como exibir roundof time


Você pode arredondar a data atual para 30 minutos como:
select dateadd(mi, datediff(mi,0,getdate())/30*30, 0)

Explicação:isso leva o número de minutos desde a data 0:
datediff(mi,0,getdate())

Em seguida, arredonda para um múltiplo de 30, dividindo e multiplicando por 30:
datediff(mi,0,getdate())/30*30

O resultado é adicionado de volta à data 0 para encontrar o último bloco de 30 minutos
dateadd(mi, datediff(mi,0,getdate())/30*30, 0)

Isso pode ser ajustado facilmente por 60 minutos. :)