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

Differenza di due date nel server sql

Solo un avvertimento da aggiungere su DateDiff, conta il numero di volte in cui superi il confine che specifichi come unità, quindi è soggetto a problemi se stai cercando un intervallo di tempo preciso, ad es.

select datediff (m, '20100131', '20100201')

fornisce una risposta di 1, perché ha attraversato il confine da gennaio a febbraio, quindi anche se l'intervallo è di 2 giorni, datediff restituirebbe un valore di 1 - ha superato 1 limite di data.

select datediff(mi, '2010-01-22 15:29:55.090' , '2010-01-22 15:30:09.153')

Fornisce un valore di 1, ancora una volta, ha superato il limite dei minuti una volta, quindi anche se sono circa 14 secondi, verrebbero restituiti come un singolo minuto quando si utilizzano i minuti come unità.