SYSUTCDATETIME (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Renvoie une valeur datetime2 qui contient la date et l’heure de l’ordinateur sur lequel l’instance de SQL Server s’exécute. La date et l’heure sont renvoyées sous forme d’heure UTC (temps universel coordonné). La spécification de la précision de la fraction de seconde a une plage de 1 à 7 chiffres. La précision par défaut est de 7 chiffres.

Notes

SYSDATETIME et SYSUTCDATETIME ont plus de précision en fractions de seconde que GETDATE et GETUTCDATE. SYSDATETIMEOFFSET inclut le décalage de fuseau horaire système. SYSDATETIME, SYSUTCDATETIME et SYSDATETIMEOFFSET peuvent être assignés à une variable de l’un des types de date et d'heure.

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.

Conventions de la syntaxe Transact-SQL

Syntaxe

SYSUTCDATETIME ( )  

Remarque

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez Versions antérieures de la documentation.

Type renvoyé

datetime2

Remarques

Les instructions Transact-SQL peuvent faire référence à SYSUTCDATETIME partout où elles peuvent faire référence à une expression datetime2.

SYSUTCDATETIME est une fonction non déterministe. Les vues et expressions qui référencent cette fonction dans une colonne ne peuvent pas être indexées.

Notes

SQL Server obtient les valeurs d’heure et de date 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().

Exemples

Les exemples suivants utilisent les six fonctions système SQL Server qui retournent les date et heure actuelles pour retourner la date, l'heure ou les deux. Les valeurs sont retournées en séries ; par conséquent, leurs fractions de seconde peuvent être différentes.

R. Affichage des formats qui sont retournés par les fonctions de date et d'heure

L'exemple suivant illustre les différents formats qui sont retournés par les fonctions de date et d'heure.

SELECT SYSDATETIME() AS [SYSDATETIME()]  
    ,SYSDATETIMEOFFSET() AS [SYSDATETIMEOFFSET()]  
    ,SYSUTCDATETIME() AS [SYSUTCDATETIME()]  
    ,CURRENT_TIMESTAMP AS [CURRENT_TIMESTAMP]  
    ,GETDATE() AS [GETDATE()]  
    ,GETUTCDATE() AS [GETUTCDATE()];  

Voici le jeu de résultats obtenu.

SYSDATETIME()      2007-04-30 13:10:02.0474381
SYSDATETIMEOFFSET()2007-04-30 13:10:02.0474381 -07:00
SYSUTCDATETIME()   2007-04-30 20:10:02.0474381
CURRENT_TIMESTAMP  2007-04-30 13:10:02.047
GETDATE()          2007-04-30 13:10:02.047
GETUTCDATE()       2007-04-30 20:10:02.047

B. Conversion de date et d'heure en date

L'exemple suivant indique comment convertir des valeurs de date et heure en date.

SELECT CONVERT (date, SYSDATETIME())  
    ,CONVERT (date, SYSDATETIMEOFFSET())  
    ,CONVERT (date, SYSUTCDATETIME())  
    ,CONVERT (date, CURRENT_TIMESTAMP)  
    ,CONVERT (date, GETDATE())  
    ,CONVERT (date, GETUTCDATE());  

Voici le jeu de résultats obtenu.

2007-04-30
2007-04-30
2007-04-30
2007-04-30
2007-04-30
2007-04-30

C. Conversion des valeurs de date et d'heure en heure

L'exemple suivant indique comment convertir des valeurs de date et heure en time.

DECLARE @DATETIME DATETIME = GetDate();
DECLARE @TIME TIME
SELECT @TIME = CONVERT(time, @DATETIME)
SELECT @TIME AS 'Time', @DATETIME AS 'Date Time'

Voici le jeu de résultats obtenu.

Time             Date Time  
13:49:33.6330000 2009-04-22 13:49:33.633

Voir aussi

CAST et CONVERT (Transact-SQL)
Types de données et fonctions de date et d'heure (Transact-SQL)
AT TIME ZONE (Transact-SQL)