Types de données et fonctions de date et d'heure (Transact-SQL)
Les sections suivantes dans cette rubrique fournissent une vue d'ensemble de tous les types de données et fonctions de date et d'heure Transact-SQL.
Types de données de date et d'heure
Fonctions de date et d'heure
Fonctions permettant d'obtenir des valeurs système de date et d'heure
Fonctions permettant d'obtenir des parties de date et d'heure
Fonctions permettant d'obtenir des valeurs de date et d'heure à partir de leurs parties
Fonctions permettant d'obtenir les différences de date et d'heure
Fonctions permettant de modifier les valeurs de date et d'heure
Fonctions permettant de définir ou d'obtenir un format de session
Fonctions permettant de valider les valeurs de date et d'heure
Rubriques relatives à la date et à l'heure
Types de données de date et d'heure
Les types de données de date et d'heure Transact-SQL sont répertoriés dans le tableau suivant.
Type de données |
Format |
Plage |
Précision |
Taille de stockage (en octets) |
Précision à la fraction de seconde définie par l'utilisateur |
Décalage de fuseau horaire |
---|---|---|---|---|---|---|
hh:mm:ss[. nnnnnnn] |
00:00:00.0000000 à 23:59:59.9999999 |
100 nanosecondes |
3 à 5 |
Oui |
Non |
|
AAAA-MM-JJ |
0001-01-01 à 9999-12-31 |
1 jour |
3 |
Non |
Non |
|
AAAA-MM-JJ hh:mm:ss |
1900-01-01 à 2079-06-06 |
1 minute |
4 |
Non |
Non |
|
YYYY-MM-DD hh:mm:ss[. nnn] |
1753-01-01 à 9999-12-31 |
0,00333 seconde |
8 |
Non |
Non |
|
YYYY-MM-DD hh:mm:ss[. nnnnnnn] |
0001-01-01 00:00:00.0000000 à 9999-12-31 23:59:59.9999999 |
100 nanosecondes |
6 à 8 |
Oui |
Non |
|
YYYY-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) |
100 nanosecondes |
8 à 10 |
Oui |
Oui |
[!REMARQUE]
Le type de données Transact-SQL rowversion n'est pas un type de données de date et d'heure. timestamp est un synonyme déconseillé de rowversion.
Fonctions de date et d'heure
Les fonctions de date et d'heure Transact-SQL sont répertoriées dans les tableaux suivants. Pour plus d'informations sur le déterminisme, consultez Fonctions déterministes et non déterministes.
Fonctions permettant d'obtenir des valeurs système de date et d'heure
Toutes les valeurs système de date et d'heure sont dérivées du système d'exploitation de l'ordinateur sur lequel l'instance de SQL Server s'exécute.
Fonctions système de date et d'heure de plus grande précision
SQL Server 2012 obtient les valeurs d'heure et de date système en utilisant l'API Windows GetSystemTimeAsFileTime(). 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 Server. La précision de cette API est fixée à 100 nanosecondes. La précision peut être déterminée en utilisant l'API Windows GetSystemTimeAdjustment().
Fonction |
Syntaxe |
Valeur retournée |
Type de données de retour |
Propriété de déterminisme |
---|---|---|---|---|
SYSDATETIME () |
Retourne une valeur datetime2(7) qui contient la date et l'heure de l'ordinateur sur lequel s'exécute l'instance de SQL Server. Le décalage de fuseau horaire n'est pas inclus. |
datetime2(7) |
Non déterministe |
|
SYSDATETIMEOFFSET () |
Retourne une valeur datetimeoffset(7) qui contient la date et l'heure de l'ordinateur sur lequel s'exécute l'instance de SQL Server. Le décalage de fuseau horaire est inclus. |
datetimeoffset(7) |
Non déterministe |
|
SYSUTCDATETIME ( ) |
Retourne une valeur datetime2(7) qui contient la date et l'heure de l'ordinateur sur lequel s'exécute l'instance de SQL Server. La date et l'heure sont retournées en heure UTC (Temps universel coordonné). |
datetime2(7) |
Non déterministe |
Fonctions système de date et d'heure de moindre précision
Fonction |
Syntaxe |
Valeur de retour |
Type de données de retour |
Propriété de déterminisme |
---|---|---|---|---|
CURRENT_TIMESTAMP |
Retourne une valeur datetime2(7) qui contient la date et l'heure de l'ordinateur sur lequel s'exécute l'instance de SQL Server. Le décalage de fuseau horaire n'est pas inclus. |
datetime |
Non déterministe |
|
GETDATE ( ) |
Retourne une valeur datetime2(7) qui contient la date et l'heure de l'ordinateur sur lequel s'exécute l'instance de SQL Server. Le décalage de fuseau horaire n'est pas inclus. |
datetime |
Non déterministe |
|
GETUTCDATE ( ) |
Retourne une valeur datetime2(7) qui contient la date et l'heure de l'ordinateur sur lequel s'exécute l'instance de SQL Server. La date et l'heure sont retournées en heure UTC (Temps universel coordonné). |
datetime |
Non déterministe |
Fonctions permettant d'obtenir des parties de date et d'heure
Fonction |
Syntaxe |
Valeur retournée |
Type de données de retour |
Propriété de déterminisme |
---|---|---|---|---|
DATENAME ( datepart , date ) |
Retourne une chaîne de caractères qui représente la datepart précisée de la date spécifiée. |
nvarchar |
Non déterministe |
|
DATEPART ( datepart, date ) |
Retourne un entier qui représente la datepart précisée de la date spécifiée. |
int |
Non déterministe |
|
DAY ( date ) |
Retourne un entier qui représente la partie jour de la date spécifiée |
int |
Déterministe |
|
MONTH ( date ) |
Retourne un entier qui représente la partie mois d'une date spécifiée. |
int |
Déterministe |
|
YEAR ( date ) |
Retourne un entier qui représente la partie année d'une date spécifiée. |
int |
Déterministe |
Fonctions permettant d'obtenir des valeurs de date et d'heure à partir de leurs parties
Fonction |
Syntaxe |
Valeur retournée |
Type de données de retour |
Propriété de déterminisme |
---|---|---|---|---|
DATEFROMPARTS ( year, month, day ) |
Retourne une valeur date pour l'année, le mois et le jour spécifiés. |
date |
Déterministe |
|
DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision ) |
Retourne une valeur datetime2 pour la date et l'heure spécifiées et avec la précision spécifiée. |
datetime2 ( precision ) |
Déterministe |
|
DATETIMEFROMPARTS ( year, month, day, hour, minute, seconds, milliseconds ) |
Retourne une valeur datetime pour la date et l'heure spécifiées. |
datetime |
Déterministe |
|
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 et avec la précision et le décalage spécifiés. |
datetime ( precision ) |
Déterministe |
|
SMALLDATETIMEFROMPARTS ( year, month, day, hour, minute ) |
Retourne une valeur smalldatetime pour la date et l'heure spécifiées. |
smalldatetime |
Déterministe |
|
TIMEFROMPARTS ( hour, minute, seconds, fractions, precision ) |
Retourne une valeur time pour l'heure spécifiée et avec la précision spécifiée. |
time ( precision ) |
Déterministe |
Fonctions permettant d'obtenir les différences de date et d'heure
Fonction |
Syntaxe |
Valeur retournée |
Type de données de retour |
Propriété de déterminisme |
---|---|---|---|---|
DATEDIFF ( datepart , startdate , enddate ) |
Retourne le nombre de limites datepart de date ou d'heure traversées entre deux dates spécifiées. |
int |
Déterministe |
Fonctions permettant de modifier les valeurs de date et d'heure
Fonction |
Syntaxe |
Valeur retournée |
Type de données de retour |
Propriété de déterminisme |
---|---|---|---|---|
DATEADD (datepart , number , date ) |
Retourne une nouvelle valeur datetime en ajoutant un intervalle au datepart spécifié de la date spécifiée. |
Type de données de l'argument date. |
Déterministe |
|
EOMONTH ( start_date [, month_to_add ] ) |
Retourne le dernier jour du mois qui contient la date spécifiée, avec un décalage facultatif. |
Le type de retour est le type de start_date ou datetime2(7). |
Déterministe |
|
SWITCHOFFSET (DATETIMEOFFSET , time_zone) |
SWITCHOFFSET change la valeur de décalage de fuseau horaire DATETIMEOFFSET et préserve par la valeur UTC. |
datetimeoffset avec la précision de fraction de l'argument DATETIMEOFFSET |
Déterministe |
|
TODATETIMEOFFSET (expression , time_zone) |
TODATETIMEOFFSET transforme une valeur datetime2 en une valeur datetimeoffset. La valeur datetime2 est interprétée en heure locale pour le time_zone spécifié. |
datetimeoffset avec la précision de fraction de l'argument datetime. |
Déterministe |
Fonctions permettant de définir ou d'obtenir un format de session
Fonction |
Syntaxe |
Valeur retournée |
Type de données de retour |
Propriété de déterminisme |
---|---|---|---|---|
@@DATEFIRST |
Retourne la valeur actuelle, pour la session, de SET DATEFIRST. |
tinyint |
Non déterministe |
|
SET DATEFIRST { number | @number_var } |
Affecte au premier jour de la semaine un nombre allant de 1 à 7. |
Non applicable |
Non applicable |
|
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. |
Non applicable |
Non applicable |
|
@@LANGUAGE |
Retourne le nom de la langue actuellement utilisée. @@LANGUAGE n'est pas une fonction de date ou d'heure. Toutefois, le paramètre de langue peut affecter la sortie de fonctions de date. |
Non applicable |
Non applicable |
|
SET LANGUAGE { [ N ] 'language' | @language_var } |
Définit l'environnement de la langue pour la session et les messages système. SET LANGUAGE n'est pas une fonction de date ou d'heure. Toutefois, le paramètre de langue affecte la sortie de fonctions de date. |
Non applicable |
Non applicable |
|
sp_helplanguage [ [ @language = ] 'language' ] |
Retourne des informations sur les formats de date de toutes les langues prises en charge. sp_helplanguage n'est pas une procédure stockée de date ou d'heure. Toutefois, le paramètre de langue affecte la sortie de fonctions de date. |
Non applicable |
Non applicable |
Fonctions permettant de valider les valeurs de date et d'heure
Fonction |
Syntaxe |
Valeur retournée |
Type de données de retour |
Propriété de déterminisme |
---|---|---|---|---|
ISDATE ( expression ) |
Détermine si une expression d'entrée datetime ou smalldatetime est une valeur de date ou d'heure valide. |
int |
ISDATE est déterministe uniquement si elle est utilisée avec la fonction CONVERT, lorsque le paramètre de style CONVERT est spécifié et que le style est différent de 0, 100, 9 ou 109. |
Rubriques relatives à la date et à l'heure
Rubrique |
Description |
---|---|
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. |
|
Fournit des directives relatives à la portabilité des bases de données et applications de bases de données qui utilisent des instructions Transact-SQL d'une langue à l'autre ou qui prennent en charge plusieurs langues. |
|
Fournit des informations sur les fonctions scalaires ODBC qui peuvent être utilisées dans les instructions Transact-SQL. Cela inclut les fonctions de date et d'heure ODBC. |