CURRENT_TIMESTAMP (Transact-SQL)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsEndpoint di analisi SQL in Microsoft FabricMagazzino in Microsoft FabricDatabase SQL in Microsoft Fabric

La CURRENT_TIMESTAMP funzione Transact-SQL (T-SQL) restituisce il timestamp del sistema di database corrente come valore datatime , senza lo offset del fuso orario del database. CURRENT_TIMESTAMP deriva dal sistema operativo del computer in cui viene eseguita l'istanza di SQL Server.

Nota

SYSDATETIME e SYSUTCDATE hanno una precisione maggiore, misurata in base alla precisione in secondi frazionari, rispetto a GETDATE e a GETUTCDATE. La funzione SYSDATETIMEOFFSET include la differenza di fuso orario di sistema. È possibile assegnare SYSDATETIME, SYSUTCDATETIME e SYSDATETIMEOFFSET a una variabile di uno qualsiasi dei tipi di data e ora.

Questa funzione è l'equivalente ANSI SQL di GETDATE.

Nota

database SQL di Azure e SQL Database in Microsoft Fabric supportano la modifica del fuso orario predefinito da tempo coordinato universale (UTC). Se modifichi il fuso orario a livello di database o sessione , questa funzione restituisce l'ora locale in base al valore del fuso orario configurato. Per maggiori informazioni, vedi ALTER DATABASE SCOPED CONFIGURATIONFUSOSET ORARIO.

Vedere Funzioni e tipi di dati di data e ora per una panoramica di tutti i tipi di dati e le funzioni di data e ora Transact-SQL.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

CURRENT_TIMESTAMP

Argomenti

Questa funzione non accetta argomenti

Tipi restituiti

datetime

Osservazioni:

Le istruzioni Transact-SQL possono fare riferimento a CURRENT_TIMESTAMP in qualsiasi punto in cui possono fare riferimento a un'espressione datetime.

CURRENT_TIMESTAMP è una funzione non deterministica. Non puoi indicizzare le viste e le espressioni che fanno riferimento a questa colonna.

Esempi

Questi esempi usano le sei funzioni di sistema di SQL Server che restituiscono valori di data e ora correnti per restituire la data, l'ora o entrambe. Gli esempi restituiscono i valori in serie. Pertanto, i secondi frazionari potrebbero essere diversi. I valori effettivi restituiti riflettono il giorno e l'ora effettivi di esecuzione.

R. Ottenere la data e l'ora di sistema correnti

SELECT SYSDATETIME(),
       SYSDATETIMEOFFSET(),
       SYSUTCDATETIME(),
       CURRENT_TIMESTAMP,
       GETDATE(),
       GETUTCDATE(),
       CURRENT_DATE;

Il set di risultati è il seguente.

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. Ottenere la data di sistema corrente

Nell'esempio seguente viene illustrato come convertire i valori di data e ora nel tipo di dati date .

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

Il set di risultati è il seguente.

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. Ottenere l'ora di sistema corrente

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

Il set di risultati è il seguente.

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

Esempi: Azure Synapse Analytics

SELECT CURRENT_TIMESTAMP;