SYSDATETIMEOFFSET (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsBase de données SQL dans Microsoft Fabric

La SYSDATETIMEOFFSET fonction Transact-SQL (T-SQL) renvoie une valeur datetimeoffset(7) qui contient la date et l’heure de l’ordinateur sur lequel l’instance de SQL Server s’exécute. Le décalage de fuseau horaire est inclus.

Pour obtenir une vue d’ensemble de toutes les fonctions et types de données de date et d’heure Transact-SQL, consultez les types et fonctions de données date et heure.

Conventions de la syntaxe Transact-SQL

Syntaxe

SYSDATETIMEOFFSET ( )

Types de retour

datetimeoffset(7)

Remarques

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

SYSDATETIMEOFFSET 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. Afficher les formats 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(),
       SYSDATETIMEOFFSET(),
       SYSUTCDATETIME(),
       CURRENT_TIMESTAMP,
       GETDATE(),
       GETUTCDATE(),
       CURRENT_DATE;

Voici le jeu de résultats.

SYSDATETIME()        2026-09-01 16:15:37.7418724
SYSDATETIMEOFFSET()  2026-09-01 16:15:37.7418724 -06:00
SYSUTCDATETIME()     2026-09-01 22:15:37.7418724
CURRENT_TIMESTAMP    2026-09-01 16:15:37.740
GETDATE()            2026-09-01 16:15:37.740
GETUTCDATE()         2026-09-01 22:15:37.740
CURRENT_DATE         2026-09-01

B. Convertir la date et l’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()),
       CURRENT_DATE;

Voici le jeu de résultats.

SYSDATETIME()        2026-09-01
SYSDATETIMEOFFSET()  2026-09-01
SYSUTCDATETIME()     2026-09-01
CURRENT_TIMESTAMP    2026-09-01
GETDATE()            2026-09-01
GETUTCDATE()         2026-09-01
CURRENT_DATE         2026-09-01

C. Convertir la date et l’heure en heures

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

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

Voici le jeu de résultats.

SYSDATETIME()        16:15:37.7418724
SYSDATETIMEOFFSET()  16:15:37.7418724
SYSUTCDATETIME()     22:15:37.7418724
CURRENT_TIMESTAMP    16:15:37.740
GETDATE()            16:15:37.740
GETUTCDATE()         22:15:37.740