le DateFromParts est plus performant
DECLARE @compteur INT; DECLARE @date DATETIME; DECLARE @dStart DATETIME; DECLARE @msString INT = 0; DECLARE @msdate INT = 0; DECLARE @msfunc INT = 0; SET @dStart = GETDATE(); DECLARE @boucle INT; SET @boucle = 1; WHILE @boucle < 10 BEGIN SET @compteur = 1; WHILE @compteur < 10000 BEGIN SET @Date = '19000101'; SET @compteur = @compteur + 1; END; SET @msString = @msString + DATEDIFF(ms, @dStart, GETDATE()); SET @dStart = GETDATE(); SET @compteur = 1; WHILE @compteur < 10000 BEGIN SET @Date = Datefromparts(1900,01,01) SET @compteur = @compteur + 1; END; SET @msdate = @msdate + DATEDIFF(ms, @dStart, GETDATE()); SET @boucle = @boucle + 1; END; PRINT 'String ' + LEFT(@msString, 20) + ' ms '; PRINT 'Date ' + LEFT(@msdate, 20) + ' ms ';
