date (Transact-SQL)
Définit une date.
Pour obtenir une vue d'ensemble de tous les types de données et fonctions de date et d'heure Transact-SQL, consultez Types de données et 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 date
Propriété |
Valeur |
---|---|
Syntaxe |
date |
Utilisation |
DECLARE @MyDate date CREATE TABLE Table1 ( Column1 date ) |
Format de littéral de chaîne par défaut (utilisé pour le client de bas niveau) |
AAAA-MM-JJ Pour plus d'informations, consultez la section « Compatibilité descendante pour les clients de bas niveau » de Utilisation des données de date et d'heure. |
Plage |
0001-01-01 à 9999-12-31 Du 1er janvier de l'an 1 au 31 décembre 9999 |
Plages d'éléments |
AAAA comprend quatre chiffres, entre 0001 et 9999, 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é. |
Longueur de caractère |
10 positions |
Précision, échelle |
10, 0 |
Taille de stockage |
3 octets, fixe |
Structure de stockage |
Un entier sur 1 ou 3 octets stocke la date. |
Précision |
Un jour |
Valeur par défaut |
1900-01-01 Cette valeur est utilisée pour la partie date ajoutée pour la conversion implicite de time en datetime2 ou datetimeoffset. |
Calendrier |
Grégorien |
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 |
Formats de littéraux de chaîne pris en charge pour date
Les tableaux suivants affichent les formats de littéraux de chaîne valides pour le type de données date.
Numérique |
Description |
---|---|
mja [m]m/jj/[aa]aa [m]m-jj-[aa]aa [m]m.jj.[aa]aa maj mm/[aa]aa/jj mm-[aa]aa/jj [m]m.[aa]aa.jj jma jj/[m]m/[aa]aa jj-[m]m-[aa]aa jj.[m]m.[aa]aa jam jj/[aa]aa/[m]m jj-[aa]aa-[m]m jj.[aa]aa.[m]m amj [aa]aa/[m]m/jj [aa]aa-[m]m-jj [aa]aa-[m]m-jj |
[m]m, jj et [aa]aa représentent le mois, le jour et l'année dans une chaîne qui utilise des barres obliques (/), des traits d'union (-) ou des points (.) comme séparateurs. Seules les années à deux ou quatre chiffres sont prises en charge. Utilisez des années à quatre chiffres chaque fois que possible. Utilisez l'Option two digit year cutoff pour spécifier un entier compris entre 0001 et 9999 qui représente l'année de coupure permettant d'interpréter les années à deux chiffres comme des années à quatre chiffres. Une année à deux chiffres inférieure ou égale aux deux derniers chiffres de l'année de coupure appartient au même siècle que l'année de coupure. Une année à deux chiffres supérieure aux deux derniers chiffres de l'année de coupure appartient au siècle qui précède l'année de coupure. Par exemple, si l'année de coupure à deux chiffres est l'année par défaut 2049, l'année à deux chiffres 49 est interprétée comme étant 2049 et l'année 50 comme étant 1950 Le format de date par défaut est déterminé par le paramètre de langue actuel. Vous pouvez modifier le format de date à l'aide des instructions SET LANGUAGE et SET DATEFORMAT. Le format ydm n'est pas pris en charge pour date. |
Alphabétique |
Description |
---|---|
mois [jj][,] aaaa mois jj[,] [aa]aa mois aaaa [jj] [jj] mois[,] aaaa jj mois[,][aa]aa jj [aa]aa mois [jj] aaaa mois aaaa mois [jj] aaaa [jj] mois |
mon représente le nom complet du mois ou son abréviation dans le langage actuel. Les virgules sont facultatives et les majuscules sont ignorées. Pour éviter toute ambiguïté, représentez les années à l'aide de quatre chiffres. Si le jour n'est pas précisé, le premier jour du mois est rajouté. |
ISO 8601 |
Description |
---|---|
AAAA-MM-JJ AAAAMMJJ |
Identique à la norme SQL. Il s'agit du seul format qui est défini comme une norme internationale. |
Non séparé |
Description |
---|---|
[aa]aammjj aaaa[mm][jj] |
Les données de date peuvent être spécifiées avec quatre, six ou huit chiffres. Une chaîne de six ou huit chiffres est toujours interprétée comme ymd. Le jour et le mois doivent toujours comporter deux chiffres. Une chaîne de quatre chiffres est interprétée comme l'année. |
ODBC |
Description |
---|---|
{ d 'aaaa-mm-jj' } |
Spécifique à l'API ODBC. Fonctionne dans SQL Server 2008 comme dans SQL Server 2005. |
Format XML W3C |
Description |
---|---|
aaaa-mm-jjTZD |
Spécifiquement pris en charge pour une utilisation XML/SOAP. TZD est l'indicateur de fuseau horaire (Z ou +hh:mm ou -hh:mm) :
|
Conformité ANSI et ISO 8601
dateest conforme à la définition de la norme SQL ANSI pour le calendrier grégorien : « NOTE 85 : Les types de données Datetime permettent le stockage des dates au format grégorien dans la plage de dates 0001–01–01 de l'an 1 à 9999–12–31 de l'an 1 ».
Le format de littéral de chaîne par défaut (utilisé pour les clients de bas niveau) s'alignera avec le format standard SQL qui est défini comme AAAA-MM-JJ. Ce format est le même que la définition ISO 8601 pour DATE.
Exemples
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';
Voici l'ensemble des résultats.
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