SYSDATETIME (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsPoint de terminaison d’analytique SQL dans Microsoft FabricEntrepôt dans Microsoft FabricBase de données SQL dans Microsoft Fabric

La SYSDATETIME fonction Transact-SQL (T-SQL) renvoie une valeur datetime2(7) qui contient la date et l’heure de l’ordinateur sur lequel l’instance de SQL Server s’exécute.

Notes

SYSDATETIME et SYSUTCDATETIME ont plus de précision de fraction de secondes que GETDATE et GETUTCDATE. SYSDATETIMEOFFSET inclut le décalage de fuseau horaire système. SYSDATETIME, SYSUTCDATETIME, et SYSDATETIMEOFFSET peuvent être attribuées à une variable de n’importe quel type de date et d’heure.

Azure Synapse Analytics suit UTC. Utilisez AT TIME BEAM dans Azure Synapse Analytics si vous devez interpréter des informations de date et d’heure dans un fuseau horaire non UTC.

Notes

Azure SQL Database et SQL Database dans Microsoft Fabric permettent de changer le fuseau horaire par défaut à partir de l’heure universelle coordonnée (UTC). Si vous modifiez le fuseau horaire au niveau de la base de données ou de la session , cette fonction retourne l’heure locale basée sur la valeur du fuseau horaire configuré. Pour plus d’informations, voir ALTER DATABASE SCOPED CONFIGURATIONFUSEAUSET HORAIRE.

Consultez les types et fonctions de données date et heure pour obtenir une vue d’ensemble de tous les types et fonctions de données de date et d’heure Transact-SQL.

Conventions de la syntaxe Transact-SQL

Syntaxe

SYSDATETIME ( )

Types de retour

datetime2(7)

Notes

Transact-SQL instructions peuvent désigner SYSDATETIME n’importe où elles peuvent se référer à une expression datetime2(7).

SYSDATETIME est une fonction non déterministe. Vous ne pouvez pas indexer les vues et expressions qui font référence à cette fonction dans une colonne.

Notes

SQL Server obtient 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. La précision de cette API est fixée à 100 nanosecondes. Vous pouvez utiliser l’API Windows GetSystemTimeAdjustment() pour en déterminer la précision.

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.

Dans ces exemples, supposons que la date actuelle soit le 30 avril 2026.

R. Obtention des date et heure système actuelles

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. Obtention de la date système actuelle

L’exemple suivant montre comment convertir des valeurs de date et d’heure en type de données 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. Obtention de l'heure système actuelle

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

Exemples : Azure Synapse Analytics

D. Obtention des date et heure système actuelles

SELECT SYSDATETIME();

Voici le jeu de résultats.

--------------------------
4/30/2026 1:10:02 PM