SYSDATETIME (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 SYSDATETIME función Transact-SQL (T-SQL) devuelve un valor datetime2(7) que contiene la fecha y hora del ordenador en el que se ejecuta la instancia de SQL Server.

Nota

SYSDATETIME y SYSUTCDATETIME tienen más precisión de fracciones de segundos que GETDATE y GETUTCDATE. SYSDATETIMEOFFSET incluye el desplazamiento de zona horaria del sistema. SYSDATETIME, SYSUTCDATETIME, y SYSDATETIMEOFFSET pueden asignarse a una variable de cualquiera de los tipos de fecha y hora.

Azure Synapse Analytics sigue UTC. Utiliza AT TIME ZONE en Azure Synapse Analytics si necesitas interpretar información de fecha y hora en una zona horaria que no sea UTC.

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

SYSDATETIME ( )

Tipos de retorno

datetime2(7)

Comentarios

Transact-SQL sentencias pueden referirse a SYSDATETIME cualquier lugar donde puedan referirse a una expresión datetime2(7).

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

Nota

SQL Server obtiene los valores de fecha y hora utilizando la API de Windows GetSystemTimeAsFileTime(). La exactitud depende del hardware del equipo y de la versión de Windows en las que la instancia de SQL Server se esté ejecutando. La precisión de esta API se fija en 100 nanosegundos. Puedes usar la API de Windows GetSystemTimeAdjustment() para determinar la precisión.

Ejemplos

En los ejemplos siguientes se usan las seis funciones del sistema de SQL Server que devuelven la fecha y hora actuales para devolver la fecha, la hora o ambas. Los valores se devuelven en serie; por consiguiente, sus fracciones de segundo podrían ser diferentes.

En estos ejemplos, supongamos que la fecha actual es el 30 de abril de 2026.

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

D. Obtener la fecha y hora actuales del sistema

SELECT SYSDATETIME();

Este es el conjunto de resultados.

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