Partager via


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

time

hh:mm:ss[. nnnnnnn]

00:00:00.0000000 à 23:59:59.9999999

100 nanosecondes

3 à 5

Oui

Non

date

AAAA-MM-JJ

0001-01-01 à 9999-12-31

1 jour

3

Non

Non

smalldatetime

AAAA-MM-JJ hh:mm:ss

1900-01-01 à 2079-06-06

1 minute

4

Non

Non

datetime

YYYY-MM-DD hh:mm:ss[. nnn]

1753-01-01 à 9999-12-31

0,00333 seconde

8

Non

Non

datetime2

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

datetimeoffset

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

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

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

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

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

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

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

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 ( datepart, date )

Retourne un entier qui représente la datepart précisée de la date spécifiée.

int

Non déterministe

DAY

DAY ( date )

Retourne un entier qui représente la partie jour de la date spécifiée

int

Déterministe

MONTH

MONTH ( date )

Retourne un entier qui représente la partie mois d'une date spécifiée.

int

Déterministe

YEAR

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

DATEFROMPARTS ( year, month, day )

Retourne une valeur date pour l'année, le mois et le jour spécifiés.

date

Déterministe

DATETIME2FROMPARTS

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

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

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

SMALLDATETIMEFROMPARTS ( year, month, day, hour, minute )

Retourne une valeur smalldatetime pour la date et l'heure spécifiées.

smalldatetime

Déterministe

TIMEFROMPARTS

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

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

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

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

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

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

@@DATEFIRST

Retourne la valeur actuelle, pour la session, de SET DATEFIRST.

tinyint

Non déterministe

SET DATEFIRST

SET DATEFIRST { number | @number_var }

Affecte au premier jour de la semaine un nombre allant de 1 à 7.

Non applicable

Non applicable

SET DATEFORMAT

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

@@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

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

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

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

CAST et 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.

Rédiger des instructions Transact-SQL internationales

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.

Fonctions scalaires ODBC (Transact-SQL)

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.

Voir aussi

Référence

Fonctions intégrées (Transact-SQL)

Types de données (Transact-SQL)