Pour être efficace avec un moteur de bases de données, il faut choisir correctement le type de données de ses colonnes. Dans SQL Server, les dates peuvent être contenues dans plusieurs types de données. Le type de données historique s’appelle DATETIME. Il comporte à la fois la date et l’heure, et il est précis au 3 millièmes de seconde. Ce type comporte plusieurs problèmes et limitations, dont nous voyons un exemple dans cette vidéo. A partir de SQL Server 2008, plusieurs types de données ont été ajoutés, et ils remplacent avantageusement le type DATETIME, qui est maintenant déprécié.
Ici, nous voyons le type DATETIME2, qui est le remplacant direct du DATETIME. Non seulement il est plus souple et plus précis, mais en plus, à précision égale (millième de seconde), il est plus petit, en ceci qu’il économise un octet par valeur. Sur des bases volumineuses, ce n’est pas négligeable.

Voici le code que vous trouvez dans la vidéo :

DECLARE @datetime DATETIME
SET @datetime = ‘20181231 23:59:59.998’
SELECT DATALENGTH(@datetime);

DECLARE @datetime2 DATETIME2(3)
SET @datetime2 = ‘20181231 23:59:59.999’
SELECT @datetime2;
SELECT DATALENGTH(@datetime2);

Actuces et tutoriels SQL Server en français, pour SQL Server 2017, SQL Server 2016, et toutes versions. Par Rudi Bruchez https://www.linkedin.com/in/rudibruchez/ www.pachadata.com

Utiliser le type DATETIME2 dans SQL Server