Nur eine Einschränkung zu DateDiff, es zählt, wie oft Sie die Grenze überschreiten, die Sie als Ihre Einheiten angeben, und ist daher problematisch, wenn Sie nach einer genauen Zeitspanne suchen, z. B.
select datediff (m, '20100131', '20100201')
gibt eine Antwort von 1, weil es die Grenze von Januar bis Februar überschritten hat, also würde datediff, obwohl die Zeitspanne 2 Tage beträgt, einen Wert von 1 zurückgeben - es hat 1 Datumsgrenze überschritten.
select datediff(mi, '2010-01-22 15:29:55.090' , '2010-01-22 15:30:09.153')
Gibt einen Wert von 1 wieder, es hat die Minutengrenze einmal überschritten, also würde es, obwohl es ungefähr 14 Sekunden sind, als eine einzelne Minute zurückgegeben werden, wenn Minuten als Einheiten verwendet werden.