smalldatetime (Transact-SQL)

Définit une date qui est associée à une heure de la journée. L'heure est basée sur une journée de 24 heures, les secondes ayant toujours la valeur zéro (:00) et sans fractions de seconde.

Notes

Utilisez les types de données time, date, datetime2 et datetimeoffset pour une nouvelle tâche. Ces types s'alignent sur la norme SQL. Ils sont plus portables. time, datetime2 et datetimeoffset offrent une meilleure précision à la seconde. datetimeoffset fournit la prise en charge des fuseaux horaires pour les applications globalement déployées.

Pour obtenir une vue d'ensemble de tous les types de données et fonctions de date et d'heure Transact-SQL, consultez Fonctions de date et d'heure (Transact-SQL). Pour obtenir des informations et des exemples communs aux types de données et fonctions de date et d'heure, consultez Utilisation des données de date et d'heure.

Description de smalldatetime

Syntaxe

smalldatetime

Utilisation

DECLARE @MySmalldatetime smalldatetime

CREATE TABLE Table1 ( Column1 smalldatetime )

Formats de littéraux de chaîne par défaut

(utilisé pour le client de bas niveau)

Non applicable

Plage de dates

1900-01-01 à 2079-06-06

Du 1er janvier 1900 au 6 juin 2079

Plage temporelle

00:00:00 à 23:59:59

2007-05-09 23:59:59 sera arrondi à

2007-05-10 00:00:00

Plages d'éléments

AAAA comprend quatre chiffres, entre 1900 et 2079, qui représentent une année.

MM comprend deux chiffres, entre 01 et 12, qui représentent un mois de l'année spécifiée.

DD comprend deux chiffres, entre 01 et 31 selon le mois, qui représentent un jour du mois spécifié.

hh comprend deux chiffres, entre 00 et 23, qui représentent l'heure.

mm comprend deux chiffres, entre 00 et 59, qui représentent la minute.

ss comprend deux chiffres, entre 00 et 59, qui représentent la seconde. Les valeurs inférieures ou égales à 29,998 sont arrondies à la minute inférieure ; les valeurs supérieures ou égales à 29,999 sont arrondies à la minute supérieure.

Longueur de caractère

19 positions au maximum

Taille de stockage

4 octets, fixe.

Précision

Une minute

Valeur par défaut

1900-01-01 00:00:00

Calendrier

Grégorien

(N'inclut pas la plage complète des années.)

Précision à la fraction de seconde définie par l'utilisateur

Non

Prise en charge et conservation du décalage de fuseau horaire

Non

Prise en charge de l'heure d'été

Non

Conformité ANSI et ISO 8601

smalldatetime n'est pas conforme ANSI ni ISO 8601.

Exemples

A. Conversion de littéraux de chaîne avec secondes en smalldatetime

L'exemple suivant compare la conversion de secondes dans les littéraux de chaîne en smalldatetime.

SELECT 
     CAST('2007-05-08 12:35:29'     AS smalldatetime)
    ,CAST('2007-05-08 12:35:30'     AS smalldatetime)
    ,CAST('2007-05-08 12:59:59.998' AS smalldatetime);

Entrée

Sortie

2007-05-08 12:35:29

2007-05-08 12:35:00

2007-05-08 12:35:30

2007-05-08 12:36:00

2007-05-08 12:59:59.998

2007-05-08 13:00:00

B. Comparaison des types de données de date et d'heure

L'exemple suivant compare les résultats de la conversion d'une chaîne en chaque type de données de date et d'heure.

SELECT 
     CAST('2007-05-08 12:35:29. 1234567 +12:15' AS time(7)) AS 'time' 
    ,CAST('2007-05-08 12:35:29. 1234567 +12:15' AS date) AS 'date' 
    ,CAST('2007-05-08 12:35:29.123' AS smalldatetime) AS 
        'smalldatetime' 
    ,CAST('2007-05-08 12:35:29.123' AS datetime) AS 'datetime' 
    ,CAST('2007-05-08 12:35:29. 1234567 +12:15' AS datetime2(7)) AS 
        'datetime2'
    ,CAST('2007-05-08 12:35:29.1234567 +12:15' AS datetimeoffset(7)) AS 
        'datetimeoffset';

Type de données

Sortie

time

12:35:29. 1234567

date

2007-05-08

smalldatetime

2007-05-08 12:35:00

datetime

2007-05-08 12:35:29.123

datetime2

2007-05-08 12:35:29. 1234567

datetimeoffset

2007-05-08 12:35:29.1234567 +12:15

Voir aussi

Référence