Types de données et fonctions de date et d'heure (Transact-SQL)Date and Time Data Types and Functions (Transact-SQL)

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database ouiAzure Synapse Analytics (SQL DW) nonParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Ces sections dans cette rubrique couvrent tous les types de données et fonctions de date et d’heure Transact-SQLTransact-SQL.The sections in this topic cover all Transact-SQLTransact-SQL date and time data types and functions.

Function That Return System Date and Time Values
- Fonctions permettant de retourner des parties de date et d’heure Functions That Return Date and Time Parts
- Fonctions permettant de retourner des valeurs de date et d’heure à partir de leurs parties Functions That Return Date and Time Values from Their Parts
- Fonctions permettant de retourner des valeurs de différence de date et d’heure Functions That Return Date and Time Difference Values
- Fonctions permettant de modifier les valeurs de date et d’heure

Functions That Modify Date and Time Values
- Fonctions permettant de définir ou de retourner des fonctions de format de session Functions That Set or Return Session Format Functions
- Fonctions permettant de valider les valeurs de date et d’heure

Functions That Validate Date and Time Values

Types de données de date et d’heureDate and time data types:

Les types de données de date et d’heure Transact-SQLTransact-SQL sont répertoriés dans le tableau suivant :The Transact-SQLTransact-SQL date and time data types are listed in the following table:

Type de donnéesData type FormatFormat PlageRange PrécisionAccuracy Taille de stockage (en octets)Storage size (bytes) Précision à la fraction de seconde définie par l'utilisateurUser-defined fractional second precision Décalage de fuseau horaireTime zone offset
timeTime hh:mm:ss [.nnnnnnn]hh:mm:ss[.nnnnnnn] 00:00:00.0000000 à 23:59:59.999999900:00:00.0000000 through 23:59:59.9999999 100 nanosecondes100 nanoseconds De 3 à 53 to 5 OuiYes NonNo
datedate AAAA-MM-JJYYYY-MM-DD 0001-01-01 à 9999-12-310001-01-01 through 9999-12-31 1 jour1 day 33 NonNo NonNo
smalldatetime
smalldatetime AAAA-MM-JJ hh:mm:ssYYYY-MM-DD hh:mm:ss 1900-01-01 à 2079-06-061900-01-01 through 2079-06-06 1 minute1 minute 44 NonNo NonNo
datetimeDateTime AAAA-MM-JJ hh:mm:ss[.nnn]YYYY-MM-DD hh:mm:ss[.nnn] 1753-01-01 à 9999-12-311753-01-01 through 9999-12-31 0,00333 seconde0.00333 second 88 NonNo NonNo
datetime2datetime2 AAAA-MM-JJ hh:mm:ss[.nnnnnnn]YYYY-MM-DD hh:mm:ss[.nnnnnnn] 0001-01-01 00:00:00.0000000 à 9999-12-31 23:59:59.99999990001-01-01 00:00:00.0000000 through 9999-12-31 23:59:59.9999999 100 nanosecondes100 nanoseconds 6 à 86 to 8 OuiYes NonNo
datetimeoffsetDateTimeOffset AAAA-MM-JJ hh:mm:ss[.nnnnnnn] [+|-]hh:mmYYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm 0001-01-01 00:00:00,0000000 à 9999-12-31 23:59:59,9999999 (au format UTC)0001-01-01 00:00:00.0000000 through 9999-12-31 23:59:59.9999999 (in UTC) 100 nanosecondes100 nanoseconds 8 à 108 to 10 OuiYes OuiYes

Notes

Avec Transact-SQLTransact-SQL, le type de données rowversion n’est pas un type de données de date et d’heure.The Transact-SQLTransact-SQL rowversion data type is not a date or time data type. timestamp est un synonyme déprécié de rowversion. timestamp is a deprecated synonym for rowversion.

Fonctions de date et heure

Date and time functions
Les tableaux suivants répertorient les fonctions de date et d’heure Transact-SQLTransact-SQL.The following tables list the Transact-SQLTransact-SQL date and time functions. Pour plus d’informations sur le déterminisme, consultez Fonctions déterministes et non déterministes.See Deterministic and Nondeterministic Functions for more information about determinism.

Fonctions permettant de retourner des valeurs système de date et d’heure

Function That Return System Date and Time Values Transact-SQLTransact-SQL dérive toutes les valeurs système de date et d’heure du système d’exploitation de l’ordinateur sur lequel s’exécute l’instance de SQL ServerSQL Server.derives all system date and time values from the operating system of the computer on which the instance of SQL ServerSQL Server runs.

Fonctions système de date et d'heure de plus grande précisionHigher-Precision System Date and Time Functions

SQL Server 2019 (15.x)SQL Server 2019 (15.x) dérive les valeurs de date et d’heure en utilisant l’API Windows GetSystemTimeAsFileTime().derives the date and time values through use of the GetSystemTimeAsFileTime() Windows API. La précision dépend des composants matériels de l’ordinateur et de la version de Windows sur laquelle s’exécute l’instance de SQL ServerSQL Server.The accuracy depends on the computer hardware and version of Windows on which the instance of SQL ServerSQL Server running. Cette API a une précision fixée à 100 nanosecondes.This API has a precision fixed at 100 nanoseconds. Utilisez l’API Windows GetSystemTimeAdjustment() pour déterminer la précision.Use the GetSystemTimeAdjustment() Windows API to determine the accuracy.

FonctionFunction SyntaxeSyntax Valeur retournéeReturn value Type de données de retourReturn data type Propriété de déterminismeDeterminism
SYSDATETIME
SYSDATETIME SYSDATETIME ()SYSDATETIME () Retourne une valeur datetime2(7) contenant la date et l’heure de l’ordinateur sur lequel s’exécute l’instance de SQL ServerSQL Server.Returns a datetime2(7) value containing the date and time of the computer on which the instance of SQL ServerSQL Server runs. La valeur retournée n’inclut pas le décalage de fuseau horaire.The returned value does not include the time zone offset. datetime2(7)datetime2(7) Non déterministeNondeterministic
SYSDATETIMEOFFSET
SYSDATETIMEOFFSET SYSDATETIMEOFFSET ()SYSDATETIMEOFFSET ( ) Retourne une valeur datetimeoffset(7) contenant la date et l’heure de l’ordinateur sur lequel s’exécute l’instance de SQL ServerSQL Server.Returns a datetimeoffset(7) value containing the date and time of the computer on which the instance of SQL ServerSQL Server runs. La valeur retournée inclut le décalage de fuseau horaire.The returned value includes the time zone offset. datetimeoffset(7)
datetimeoffset(7) Non déterministeNondeterministic
SYSUTCDATETIME
SYSUTCDATETIME SYSUTCDATETIME ( )SYSUTCDATETIME ( ) Retourne une valeur datetime2(7) contenant la date et l’heure de l’ordinateur sur lequel s’exécute l’instance de SQL ServerSQL Server.Returns a datetime2(7) value containing the date and time of the computer on which the instance of SQL ServerSQL Server is running. La fonction retourne les valeurs de date et d’heure sous forme d’heure UTC (temps universel coordonné).The function returns the date and time values as UTC time (Coordinated Universal Time). datetime2(7)datetime2(7) Non déterministeNondeterministic

Fonctions système de date et d'heure de moindre précisionLower-Precision System Date and Time Functions

FonctionFunction SyntaxeSyntax Valeur retournéeReturn value Type de données de retourReturn data type Propriété de déterminismeDeterminism
CURRENT_TIMESTAMP

current-timestamp |CURRENT_TIMESTAMPCURRENT_TIMESTAMP|Retourne une valeur datetime contenant la date et l’heure de l’ordinateur sur lequel s’exécute l’instance de SQL ServerSQL Server.Returns a datetime value containing the date and time of the computer on which the instance of SQL ServerSQL Server runs. La valeur retournée n’inclut pas le décalage de fuseau horaire.The returned value does not include the time zone offset.|datetimeDateTime|Non déterministeNondeterministic|
|GETDATE Get-Date|GETDATE ( )GETDATE ( )|Retourne une valeur datetime contenant la date et l’heure de l’ordinateur sur lequel s’exécute l’instance de SQL ServerSQL Server.Returns a datetime value containing the date and time of the computer on which the instance of SQL ServerSQL Server runs. La valeur retournée n’inclut pas le décalage de fuseau horaire.The returned value does not include the time zone offset.|datetimeDateTime|Non déterministeNondeterministic|
|GETUTCDATE GETUTCDATE|GETUTCDATE ( )GETUTCDATE ( )|Retourne une valeur datetime contenant la date et l’heure de l’ordinateur sur lequel s’exécute l’instance de SQL ServerSQL Server.Returns a datetime value containing the date and time of the computer on which the instance of SQL ServerSQL Server runs. La fonction retourne les valeurs de date et d’heure sous forme d’heure UTC (temps universel coordonné).The function returns the date and time values as UTC time (Coordinated Universal Time).|datetimeDateTime|Non déterministeNondeterministic|

Fonctions permettant de retourner des parties de date et d’heure

Functions That Return Date and Time Parts

FonctionFunction SyntaxeSyntax Valeur retournéeReturn value Type de données de retourReturn data type Propriété de déterminismeDeterminism
DATENAMEDATENAME DATENAME ( datepart , date )DATENAME ( datepart , date ) Retourne une chaîne de caractères représentant la partie date (datepart) spécifiée de la date spécifiée.Returns a character string representing the specified datepart of the specified date. nvarcharnvarchar Non déterministeNondeterministic
DATEPARTDATEPART DATEPART ( datepart , date )DATEPART ( datepart , date ) Retourne un entier représentant la partie date (datepart) spécifiée de la date spécifiée.Returns an integer representing the specified datepart of the specified date. intint Non déterministeNondeterministic
DAYDay: DAY ( date )DAY ( date ) Retourne un entier représentant la partie jour de la date spécifiée.Returns an integer representing the day part of the specified date. intint DéterministeDeterministic
MONTHMonth: MONTH ( date )MONTH ( date ) Retourne un entier représentant la partie mois d’une date spécifiée.Returns an integer representing the month part of a specified date. intint DéterministeDeterministic
YEARYear: YEAR ( date )YEAR ( date ) Retourne un entier représentant la partie année d’une date spécifiée.Returns an integer representing the year part of a specified date. intint DéterministeDeterministic

Fonctions permettant de retourner des valeurs de date et d’heure à partir de leurs parties

Functions That Return Date and Time Values from Their Parts

FonctionFunction SyntaxeSyntax Valeur retournéeReturn value Type de données de retourReturn data type Propriété de déterminismeDeterminism
DATEFROMPARTS
DATEFROMPARTS DATEFROMPARTS ( year, month, day )DATEFROMPARTS ( year, month, day ) Renvoie une valeur date pour l’année, le mois et le jour spécifiés.Returns a date value for the specified year, month, and day. datedate DéterministeDeterministic
DATETIME2FROMPARTS
DATETIME2FROMPARTS DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision)DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision) Retourne une valeur datetime2 pour la date et l’heure spécifiées, avec la précision spécifiée.Returns a datetime2 value for the specified date and time, with the specified precision. datetime2( precision )datetime2( precision ) DéterministeDeterministic
DATETIMEFROMPARTSDATETIMEFROMPARTS DATETIMEFROMPARTS ( year, month, day, hour, minute, seconds, milliseconds)DATETIMEFROMPARTS ( year, month, day, hour, minute, seconds, milliseconds) Renvoie une valeur datetime pour la date et l’heure spécifiées.Returns a datetime value for the specified date and time. datetimeDateTime DéterministeDeterministic
DATETIMEOFFSETFROMPARTS
DATETIMEOFFSETFROMPARTS DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision)DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision) Retourne une valeur datetimeoffset pour la date et l’heure spécifiées, avec la précision et les décalages spécifiés.Returns a datetimeoffset value for the specified date and time, with the specified offsets and precision. datetimeoffset( precision )datetimeoffset( precision ) DéterministeDeterministic
SMALLDATETIMEFROMPARTS
SMALLDATETIMEFROMPARTS SMALLDATETIMEFROMPARTS ( year, month, day, hour, minute )SMALLDATETIMEFROMPARTS ( year, month, day, hour, minute ) Renvoie une valeur smalldatetime pour la date et l’heure spécifiées.Returns a smalldatetime value for the specified date and time. smalldatetime
smalldatetime DéterministeDeterministic
TIMEFROMPARTS
TIMEFROMPARTS TIMEFROMPARTS ( hour, minute, seconds, fractions, precision )TIMEFROMPARTS ( hour, minute, seconds, fractions, precision ) Retourne une valeur time pour l’heure spécifiée, avec la précision spécifiée.Returns a time value for the specified time, with the specified precision. time( precision )time( precision ) DéterministeDeterministic

Fonctions permettant de retourner des valeurs de différence de date et d’heure

Functions That Return Date and Time Difference Values

FonctionFunction SyntaxeSyntax Valeur retournéeReturn value Type de données de retourReturn data type Propriété de déterminismeDeterminism
DATEDIFFDATEDIFF DATEDIFF ( datepart , startdate , enddate )DATEDIFF ( datepart , startdate , enddate ) Retourne le nombre de limites datepart de date ou d’heure traversées entre deux dates spécifiées.Returns the number of date or time datepart boundaries, crossed between two specified dates. intint DéterministeDeterministic
DATEDIFF_BIGDATEDIFF_BIG DATEDIFF_BIG ( datepart , startdate , enddate )DATEDIFF_BIG ( datepart , startdate , enddate ) Retourne le nombre de limites datepart de date ou d’heure traversées entre deux dates spécifiées.Returns the number of date or time datepart boundaries, crossed between two specified dates. bigintbigint DéterministeDeterministic

Fonctions permettant de modifier les valeurs de date et d’heure

Functions That Modify Date and Time Values

FonctionFunction SyntaxeSyntax Valeur retournéeReturn value Type de données de retourReturn data type Propriété de déterminismeDeterminism
DATEADDDATEADD DATEADD (datepart , number , date )DATEADD (datepart , number , date ) Retourne une nouvelle valeur datetime en ajoutant un intervalle au datepart spécifié de la date spécifiée.Returns a new datetime value by adding an interval to the specified datepart of the specified date. Type de données de l’argument date.The data type of the date argument DéterministeDeterministic
EOMONTH
EOMONTH EOMONTH ( start_date [, month_to_add ] )EOMONTH ( start_date [, month_to_add ] ) Retourne le dernier jour du mois contenant la date spécifiée, avec un décalage facultatif.Returns the last day of the month containing the specified date, with an optional offset. Le type de retour est le type de l’argument start_date ou le type de données date.Return type is the type of the start_date argument, or alternately, the date data type. DéterministeDeterministic
SWITCHOFFSET
SWITCHOFFSET SWITCHOFFSET (DATETIMEOFFSET , time_zone)SWITCHOFFSET (DATETIMEOFFSET , time_zone) SWITCHOFFSET change le décalage de fuseau horaire d’une valeur DATETIMEOFFSET et préserve la valeur UTC.SWITCHOFFSET changes the time zone offset of a DATETIMEOFFSET value, and preserves the UTC value. datetimeoffset avec la précision fractionnelle de DATETIMEOFFSET.
datetimeoffset with the fractional precision of the DATETIMEOFFSET DéterministeDeterministic
TODATETIMEOFFSET
TODATETIMEOFFSET TODATETIMEOFFSET (expression , time_zone)TODATETIMEOFFSET (expression , time_zone) TODATETIMEOFFSET transforme une valeur datetime2 en une valeur datetimeoffset.TODATETIMEOFFSET transforms a datetime2 value into a datetimeoffset value. TODATETIMEOFFSET interprète la valeur datetime2 en heure locale, pour le time_zone spécifié.
TODATETIMEOFFSET interprets the datetime2 value in local time, for the specified time_zone. datetimeoffset avec la précision fractionnelle de l’argument datetime
datetimeoffset with the fractional precision of the datetime argument DéterministeDeterministic

Fonctions permettant de définir ou de retourner des fonctions de format de session

Functions That Set or Return Session Format Functions

FonctionFunction SyntaxeSyntax Valeur retournéeReturn value Type de données de retourReturn data type Propriété de déterminismeDeterminism
@@DATEFIRST @@DATEFIRST Retourne la valeur actuelle, pour la session, de SET DATEFIRST.Returns the current value, for the session, of SET DATEFIRST. tinyint
tinyint Non déterministeNondeterministic
SET DATEFIRST
SET DATEFIRST SET DATEFIRST { number | @ number_var }SET DATEFIRST { number | @number_var } Affecte au premier jour de la semaine un nombre allant de 1 à 7.Sets the first day of the week to a number from 1 through 7. Non applicableNot applicable Non applicableNot applicable
SET DATEFORMAT
SET DATEFORMAT SET DATEFORMAT { format | @ format_var }SET DATEFORMAT { format | @format_var } Définit l’ordre des éléments de date (jour/mois/année) pour enregistrer des données de type datetime ou smalldatetime.Sets the order of the dateparts (month/day/year) for entering datetime or smalldatetime data. Non applicableNot applicable Non applicableNot applicable
@@LANGUAGE @@LANGUAGE Retourne le nom de la langue actuellement utilisée.Returns the name of the language in current used. @@LANGUAGE n’est pas une fonction de date ou d’heure.@@LANGUAGE is not a date or time function. Toutefois, le paramètre de langue peut affecter la sortie de fonctions de date.However, the language setting can affect the output of date functions. Non applicableNot applicable Non applicableNot applicable
SET LANGUAGE
SET LANGUAGE SET LANGUAGE { [ N ] ' language ' | @ language_var }SET LANGUAGE { [ N ] 'language' | @language_var } Définit l'environnement de la langue pour la session et les messages système.Sets the language environment for the session and system messages. SET LANGUAGE n'est pas une fonction de date ou d'heure.SET LANGUAGE is not a date or time function. Toutefois, le paramètre de langue affecte la sortie de fonctions de date.However, the language setting affects the output of date functions. Non applicableNot applicable Non applicableNot applicable
sp_helplanguagesp_helplanguage sp_helplanguage [ [ @language = ] ' language ' ]
sp_helplanguage [ [ = ] ' language ' ] Retourne des informations sur les formats de date de toutes les langues prises en charge.Returns information about date formats of all supported languages. sp_helplanguage n’est pas une procédure stockée de date ou d’heure.
sp_helplanguage is not a date or time stored procedure. Toutefois, le paramètre de langue affecte la sortie de fonctions de date.However, the language setting affects the output of date functions. Non applicableNot applicable Non applicableNot applicable

Fonctions permettant de valider les valeurs de date et d’heure

Functions That Validate Date and Time Values

FonctionFunction SyntaxeSyntax Valeur retournéeReturn value Type de données de retourReturn data type Propriété de déterminismeDeterminism
ISDATEIsDate ISDATE ( expression )ISDATE ( expression ) Détermine si une expression d’entrée datetime ou smalldatetime a une valeur de date ou d’heure valide.Determines whether a datetime or smalldatetime input expression has a valid date or time value. intint ISDATE est déterministe uniquement si elle est utilisée avec la fonction CONVERT, quand le paramètre de style CONVERT est spécifié et quand le style est différent de 0, 100, 9 ou 109.ISDATE is deterministic only used with the CONVERT function, when the CONVERT style parameter is specified, and when style is not equal to 0, 100, 9, or 109.

Rubriques relatives à la date et à l’heure

Date and Time-Related Topics

RubriqueTopic DescriptionDescription
CAST et CONVERT (Transact-SQL)
CAST and CONVERT (Transact-SQL) Fournit des informations sur la conversion des valeurs de date et d’heure depuis et vers des littéraux de chaîne et d’autres formats de date et d’heure.Provides information about the conversion of date and time values to and from string literals, and other date and time formats.
Rédiger des instructions Transact-SQL internationales
Write International Transact-SQL Statements Fournit des directives relatives à la portabilité des bases de données et applications de bases de données qui utilisent des instructions Transact-SQLTransact-SQL d’une langue à l’autre ou qui prennent en charge plusieurs langues.Provides guidelines for portability of databases and database applications that use Transact-SQLTransact-SQL statements from one language to another, or that support multiple languages.
Fonctions scalaires ODBC (Transact-SQL)
ODBC Scalar Functions (Transact-SQL) Fournit des informations sur les fonctions scalaires ODBC qui peuvent être utilisées dans les instructions Transact-SQLTransact-SQL.Provides information about ODBC scalar functions available for use in Transact-SQLTransact-SQL statements. Cela inclut les fonctions de date et d’heure ODBC.This includes ODBC date and time functions.
AT TIME ZONE (Transact-SQL)
AT TIME ZONE (Transact-SQL) Fournit la conversion de fuseau horaire.Provides time zone conversion.

Voir aussiSee also

FonctionsFunctions
Types de données (Transact-SQL) Data Types (Transact-SQL)