Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Sottrai minuti da DateTime in SQL Server 2005

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

Il secondo valore (-15 in questo caso) deve essere numerico (cioè non una stringa come '00:15'). Se devi sottrarre ore e minuti, ti consiglio di dividere la stringa su :per ottenere le ore e i minuti e di sottrarre usando qualcosa come

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

dove @h è la parte dell'ora della stringa e @m è la parte dei minuti della stringa

MODIFICA:

Ecco un modo migliore:

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