CURRENT_TIMESTAMP (Transact-SQL)

Aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsEndpoint de analítica SQL en Microsoft FabricAlmacén en Microsoft FabricBase de datos SQL en Microsoft Fabric

La CURRENT_TIMESTAMP función Transact-SQL (T-SQL) devuelve la marca de tiempo actual del sistema de base de datos como un valor de fecha-hora , sin el desplazamiento de zona horaria de la base de datos. CURRENT_TIMESTAMP deriva este valor del sistema operativo del equipo en el que se ejecuta la instancia de SQL Server.

Nota

SYSDATETIME y SYSUTCDATE tienen más precisión, de acuerdo con la medición de la precisión de las fracciones de segundo, que GETDATE y GETUTCDATE. La función SYSDATETIMEOFFSET incluye el ajuste de zona horaria del sistema. Puede asignar SYSDATETIME, SYSUTCDATETIME y SYSDATETIMEOFFSET a una variable de cualquiera de los tipos de fecha y hora.

Esta función es el equivalente de ANSI SQL a GETDATE.

Nota

Azure SQL Database y SQL Database en Microsoft Fabric permiten cambiar la zona horaria predeterminada desde la hora coordinada universal (UTC). Si modificas la zona horaria a nivel de base de datos o sesión , esta función devuelve la hora local basada en el valor configurado de la zona horaria. Para más información, consulta ALTER DATABASE SCOPED CONFIGURATIONZONASET HORARIA.

Consulte Tipos y funciones de datos de fecha y hora para obtener información general sobre todos los tipos de datos y funciones de fecha y hora de Transact-SQL.

Convenciones de sintaxis de Transact-SQL

Sintaxis

CURRENT_TIMESTAMP

Argumentos

Esta función no toma ningún argumento.

Tipos de retorno

datetime

Observaciones

Las instrucciones Transact-SQL pueden hacer referencia a CURRENT_TIMESTAMP desde cualquier parte desde donde puedan hacer referencia a una expresión datetime.

CURRENT_TIMESTAMP es una función no determinista. No puedes indexar vistas y expresiones que hacen referencia a esta columna.

Ejemplos

Estos ejemplos usan las seis funciones de sistema de SQL Server que devuelven los valores de fecha y hora actuales para devolver la fecha, la hora o ambas. Los ejemplos devuelven los valores en series, por lo que sus fracciones de segundo podrían diferir. Los valores reales devueltos reflejan el día y la hora exactos de ejecución.

A. Obtener la fecha y hora actuales del sistema

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

Este es el conjunto de resultados.

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. Obtener la fecha actual del sistema

En el ejemplo siguiente se muestra cómo convertir valores de fecha y hora al tipo de datos date .

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

Este es el conjunto de resultados.

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. Obtener la hora actual del sistema

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

Este es el conjunto de resultados.

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

Ejemplos: Azure Synapse Analytics

SELECT CURRENT_TIMESTAMP;