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

Subtrair minuto de DateTime no SQL Server 2005

SELECT DATEADD(minute, -15, '2000-01-01 08:30:00'); 

O segundo valor (-15 neste caso) deve ser numérico (ou seja, não uma string como '00:15'). Se você precisar subtrair horas e minutos, eu recomendaria dividir a string no:para obter as horas e minutos e subtrair usando algo como
SELECT DATEADD(minute, -60 * @h - @m, '2000-01-01 08:30:00'); 

onde @h é a parte da hora da sua string e @m é a parte do minuto da sua string

EDITAR:

Aqui está uma maneira melhor:
SELECT CAST('2000-01-01 08:30:00' as datetime) - CAST('00:15' AS datetime)