Types de données et fonctions de date et d’heure (Transact-SQL)
S’applique à : SQL ServerAzure SQL Database Azure SQL Managed Instance Azure Synapse Analytics
Les sections de cette article abordent tous les types de données et fonctions de date et d’heure de Transact-SQL.
- Types de données de date et d’heure
- Fonctions de date et heure
- Fonctions permettant de retourner des valeurs système de date et d’heure
- Fonctions permettant de retourner des parties de date et d’heure
- Fonctions permettant de retourner des valeurs de date et d’heure à partir de leurs parties
- Fonctions permettant de retourner des valeurs de différence de date et d’heure
- Fonctions permettant de modifier les valeurs de date et d’heure
- Fonctions permettant de définir ou de retourner des fonctions de format de session
- Fonctions permettant de valider les valeurs de date et d’heure
- Articles relatifs à la date et à l’heure
Types de données de date et d’heure
Les types de données de date et heure Transact-SQL sont listé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 | De 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 | AAAA-MM-JJ hh:mm:ss[.nnn] | 1753-01-01 à 9999-12-31 | 0,00333 seconde | 8 | Non | Non |
datetime2 | AAAA-MM-JJ 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 | AAAA-MM-JJ 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 |
Notes
Le type de données Transact-SQL rowversion n’est pas un type de données de date et heure. timestamp est un synonyme déprécié de rowversion.
Fonctions de date et heure
Les tableaux suivants listent les fonctions de date et heure Transact-SQL. Pour plus d’informations sur le déterminisme, consultez Fonctions déterministes et non déterministes.
Fonctions permettant de retourner des valeurs système de date et d’heure
Transact-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 SQL Server.
Fonctions système de date et d’heure de plus grande précision
Depuis SQL Server 2008 (10.0.x), le Moteur de base de données dérive les valeurs de date et d’heure 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. Cette API a une précision fixée à 100 nanosecondes. Utilisez l’API Windows GetSystemTimeAdjustment() pour déterminer la précision.
Fonction | Syntaxe | Valeur de retour | Type de données de retour | Propriété de déterminisme |
---|---|---|---|---|
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 Server. La valeur retournée n’inclut pas le décalage de fuseau horaire. | datetime2(7) | Non déterministe |
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 Server. La valeur retournée inclut le décalage de fuseau horaire. | datetimeoffset(7) | Non déterministe |
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 Server. La fonction retourne les valeurs de date et d’heure sous forme d’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 datetime contenant la date et l’heure de l’ordinateur sur lequel s’exécute l’instance de SQL Server. La valeur retournée n’inclut pas le décalage de fuseau horaire. | datetime | Non déterministe |
GETDATE | GETDATE ( ) | Retourne une valeur datetime contenant la date et l’heure de l’ordinateur sur lequel s’exécute l’instance de SQL Server. La valeur retournée n’inclut pas le décalage de fuseau horaire. | datetime | Non déterministe |
GETUTCDATE | GETUTCDATE ( ) | Retourne une valeur datetime contenant la date et l’heure de l’ordinateur sur lequel s’exécute l’instance de SQL Server. La fonction retourne les valeurs de date et d’heure sous forme d’heure UTC (temps universel coordonné). | datetime | Non déterministe |
Fonctions permettant de retourner des parties de date et d’heure
Fonction | Syntaxe | Valeur de retour | Type de données de retour | Propriété de déterminisme |
---|---|---|---|---|
DATE_BUCKET | DATE_BUCKET ( datepart, number, date, origin ) | Retourne une valeur correspondant au début de chaque compartiment date-heure, à partir du timestamp défini par le paramètre origin ou la valeur d’origine par défaut de 1900-01-01 00:00:00.000 si le paramètre d’origine n’est pas spécifié. |
Le type de retour dépend de l’argument fourni pour date. | Non déterministe |
DATENAME | 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. | nvarchar | Non déterministe |
DATEPART | DATEPART ( datepart, date ) | Retourne un entier représentant la partie date (datepart) spécifiée de la date spécifiée. | int | Non déterministe |
DATETRUNC | DATETRUNC ( datepart, date ) | Retourne une date d’entrée tronquée en une datepart spécifiée. | Le type de retour dépend de l’argument fourni pour date. | Non déterministe |
DAY | DAY ( date ) | Retourne un entier représentant la partie jour de la date spécifiée. | int | Déterministe |
MONTH | MONTH ( date ) | Retourne un entier représentant la partie mois d’une date spécifiée. | int | Déterministe |
YEAR | YEAR ( date ) | Retourne un entier représentant la partie année d’une date spécifiée. | int | Déterministe |
Fonctions permettant de retourner des valeurs de date et d’heure à partir de leurs parties
Fonction | Syntaxe | Valeur de retour | Type de données de retour | Propriété de déterminisme |
---|---|---|---|---|
DATEFROMPARTS | DATEFROMPARTS ( year, month, day ) | Renvoie 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, avec la précision spécifiée. | datetime2( precision ) | Déterministe |
DATETIMEFROMPARTS | DATETIMEFROMPARTS ( year, month, day, hour, minute, seconds, milliseconds) | Renvoie 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, avec la précision et les décalages spécifiés. | datetimeoffset( precision ) | Déterministe |
SMALLDATETIMEFROMPARTS | SMALLDATETIMEFROMPARTS ( year, month, day, hour, minute ) | Renvoie 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, avec la précision spécifiée. | time( precision ) | Déterministe |
Fonctions permettant de retourner des valeurs de différence de date et d’heure
Fonction | Syntaxe | Valeur de retour | 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 |
DATEDIFF_BIG | DATEDIFF_BIG ( datepart, startdate, enddate ) | Retourne le nombre de limites datepart de date ou d’heure traversées entre deux dates spécifiées. | bigint | Déterministe |
Fonctions permettant de modifier les valeurs de date et d’heure
Fonction | Syntaxe | Valeur de retour | 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 contenant la date spécifiée, avec un décalage facultatif. | Le type de retour est le type de l’argument start_date ou le type de données date. | Déterministe |
SWITCHOFFSET | SWITCHOFFSET (DATETIMEOFFSET, time_zone) | SWITCHOFFSET change le décalage de fuseau horaire d’une valeur DATETIMEOFFSET et préserve la valeur UTC. | datetimeoffset avec la précision fractionnelle de DATETIMEOFFSET. | Déterministe |
TODATETIMEOFFSET | TODATETIMEOFFSET (expression, time_zone) | TODATETIMEOFFSET transforme une valeur datetime2 en une valeur datetimeoffset. TODATETIMEOFFSET interprète la valeur datetime2 en heure locale, pour le time_zone spécifié. | datetimeoffset avec la précision fractionnelle de l’argument datetime | Déterministe |
Fonctions permettant de définir ou de retourner des fonctions de format de session
Fonction | Syntaxe | Valeur de retour | 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 de retour | 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 a une valeur de date ou d’heure valide. | int | 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. |
Articles relatifs à la date et à l’heure
Article | Description |
---|---|
FORMAT | Retourne une valeur mise en forme avec la culture facultative et le format spécifiés. Utilisez la fonction FORMAT pour la mise en forme comme chaînes de valeurs de date/heure et de valeurs numériques compatibles avec les paramètres régionaux. |
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’un langage à l’autre ou qui prennent en charge plusieurs langages. |
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. |
AT TIME ZONE (Transact-SQL) | Fournit la conversion de fuseau horaire. |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de l’année 2024, nous abandonnerons progressivement le mécanisme de retour d’information GitHub Issues pour le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultez :Soumettre et afficher des commentaires pour