Résumé: dans ce tutoriel, vous apprendrez à utiliser SQL Server DATETIME2
pour stocker des données de date et d’heure dans une table.
Introduction à SQL Server DATETIME2
Pour stocker la date et l’heure dans la base de données, vous utilisez le type de données SQL Server DATETIME2
.
La syntaxe de DATETIME2
est la suivante:
Code language: SQL (Structured Query Language) (sql)
La précision des secondes fractionnaires est facultative. Il va de 0 à 7.
L’instruction suivante illustre comment créer une table composée d’une colonne DATETIME2
:
Code language: SQL (Structured Query Language) (sql)
Le DATETIME2
comporte deux composantes : la date et l’heure.
- La date a une plage allant du 01 janvier 01 (0001-01-01) à décembre 31, 9999 (9999-12-31)
- L’heure a une plage de 00:00:00 à 23:59:59.9999999.
La taille de stockage d’une valeur DATETIME2
dépend de la précision des secondes fractionnaires. Il nécessite 6 octets pour la précision inférieure à 3, 7 octets pour la précision comprise entre 3 et 4 et 8 octets pour toutes les autres précisions.
Le format littéral de chaîne par défaut du DATETIME2
est le suivant:
Code language: SQL (Structured Query Language) (sql)
Dans ce format:
-
YYYY
est un nombre à quatre chiffres qui représente une année, par exemple, 2018. Il va de 0001 à 9999. -
MM
est un nombre à deux chiffres qui représente un mois dans une année, par exemple 12. Il varie de 01 à 12. -
DD
est un nombre à deux chiffres qui représente un jour d’un mois spécifié, par exemple 23. Il va de 01 à 31. -
hh
est un nombre à deux chiffres qui représente l’heure. Il varie de 00 à 23. -
mm
est un nombre à deux chiffres qui représente la minute. Il varie de 00 à 59. -
ss
est un nombre à deux chiffres qui représente le second. Il varie de 00 à 59. - Les secondes fractionnaires sont de zéro à un nombre à sept chiffres compris entre 0 et 9999999.
Exemple SQL Server DATETIME2
L’instruction suivante crée une nouvelle table qui a une colonne created_at
dont le type de données est DATETIME2
:
Code language: SQL (Structured Query Language) (sql)
Pour insérer la date et l’heure actuelles dans la colonne created_at
, vous utilisez l’instruction INSERT
suivante avec la fonction GETDATE
():
Code language: SQL (Structured Query Language) (sql)
La fonction GETDATE
() est similaire à la fonction NOW()
dans d’autres systèmes de base de données tels que MySQL
Pour insérer une valeur littérale dans la colonne DATETIME2
, vous utilisez l’instruction suivante:
Code language: SQL (Structured Query Language) (sql)
Si vous souhaitez définir la valeur par défaut de la colonne created_at
sur la date et l’heure actuelles, vous utilisez l’instruction ALTER TABLE
suivante:
Code language: SQL (Structured Query Language) (sql)
Dans cette instruction, nous utilisons CURRENT_TIMESTAMP
comme valeur par défaut pour la colonne created_at
. Notez que CURRENT_TIMESTAMP
renvoie la même valeur que la fonction GETDATE
().
Maintenant, lorsque vous insérez une nouvelle ligne dans la table sans spécifier la valeur de la colonne created_at
, SQL Server utilisera la valeur de date et d’heure actuelle pour cette colonne:
Code language: SQL (Structured Query Language) (sql)
Dans ce tutoriel, vous avez appris à utiliser le type de données SQL Server DATETIME2
pour stocker des données de date et d’heure dans une table.