SqlHints.com
DateTime2 est le nouveau type de données introduit dans Sql Server 2008 pour stocker la valeur de date et d’heure. Selon MSDN, Microsoft suggère d’utiliser ce nouveau type de données pour un nouveau travail au lieu de DateTime.
Le tableau suivant résume une partie de la différence majeure entre ce nouveau type de données DateTime2 et l’ancien type de données DateTime.
DateTime | DateTime2 | |
Min Value | 1753-01-01 00:00:00 | 0001-01-01 00:00:00 |
Max Value | 9999-12-31 23:59:59.997 | 9999-12-31 23:59:59.9999999 |
Taille de stockage | 8 octets | 6 à 8 octets Remarque: Le paramètre n est facultatif et s’il n’est pas spécifié, la précision en secondes fractionnaire est à 7 chiffres et il peut être de 0 à 7 chiffres. For fractional seconds precision <3, takes 6 bytes For fractional seconds precision 3 or 4 it will take 7 bytes For fractional seconds precision >4 it will take 8 bytes |
Usage | Declare @now datetime | Declare @now datetime2(7) |
Compliance | Is not an ANSI/ISO compliant | Is an ANSI/ISO compliant |
Fonction de Date et d’heure actuelle | GetDate() – Elle renvoie la Date et l’Heure Actuelles de la Base de Données du Type de données DateTime
Exemple: SÉLECTIONNEZ GETDATE() |
SYSDATETIME() – Il renvoie la Date et l’heure actuelles de la base de données DateTime2 Type de données
Exemple: SÉLECTIONNEZ SYSDATETIME() |
+/- jours | FONCTIONNE
Exemple: |
ÉCHOUE – Besoin d’utiliser uniquement la fonction DateAdd
Exemple: |
DateTime2 avec une précision de 3 secondes fractionnaires est identique au type de données DateTime. Et DateTime2(3) utilise 7 octets de stockage au lieu de 8 octets que l’ancien type de données DateTime utilise et il fournit également une plage de dates plus élevée (c’est-à-dire 0001-01-01 à 9999-12-31) par rapport au type de données DateTime. Voyons maintenant cela avec un exemple:
DECLARE @nowDateTime DATETIME = GETDATE(), @nowDateTime2 DATETIME2(3)= SYSDATETIME()SELECT DATALENGTH(@nowDateTime) 'DateTime Storage Size', DATALENGTH(@nowDateTime2) 'DateTime2(3) Storage Size'
Result:DateTime Storage Size DateTime2 Storage Size --------------------- ---------------------- 8 7
LIRE AUSSI
- Varchar vs NVarchar
- Varchar vs Varchar(MAX)
- Char vs Varchar
- Texte vs Varchar (Max)
- Union
- DateTime vs DateTime2
- SET QUOTED_IDENTIFIER ON vs SET QUOTED_IDENTIFIER OFF
- Procédure stockée vs Fonction Définie par l’Utilisateur
- Clé Primaire vs Clé Unique
- RAISERROR vs THROW
- Table temporaire vs Variable de Table
- Len() vs Datalength()
- Séquence vs Identité
- DATEDIFF vs DATEDIFF_BIG
- JOINTURE GAUCHE vs GAUCHE JOINTURE EXTERNE
- JOINTURE DROITE vs JOINTURE EXTERNE DROITE
- JOINTURE vs JOINTURE INTERNE
- JOINTURE EXTERNE GAUCHE vs JOINTURE EXTERNE DROITE
- SMALLDATETIME vs DATETIME