sql >> Base de Datos >  >> RDS >> Sqlserver

Restar minutos de DateTime en SQL Server 2005

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

El segundo valor (-15 en este caso) debe ser numérico (es decir, no una cadena como '00:15'). Si necesita restar horas y minutos, recomendaría dividir la cadena en :para obtener las horas y los minutos y restar usando algo como

SELECT DATEADD(minute, -60 * @h - @m, '2000-01-01 08:30:00'); 

donde @h es la parte de la hora de su cadena y @m es la parte de los minutos de su cadena

EDITAR:

Aquí hay una mejor manera:

SELECT CAST('2000-01-01 08:30:00' as datetime) - CAST('00:15' AS datetime)