Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Base de datos de Azure SQL en Microsoft Fabric
La SYSDATETIMEOFFSET función Transact-SQL (T-SQL) devuelve un valor de desfasamiento de fecha(7) que contiene la fecha y hora del ordenador en el que se ejecuta la instancia de SQL Server. El ajuste de zona horaria está incluido.
Para obtener información general sobre todos los tipos y funciones de datos de fecha y hora de Transact-SQL, consulte Tipos y funciones de datos de fecha y hora.
Convenciones de sintaxis de Transact-SQL
Sintaxis
SYSDATETIMEOFFSET ( )
Tipos de retorno
datetimeoffset(7)
Observaciones
Las instrucciones Transact-SQL pueden hacer referencia a SYSDATETIMEOFFSET en cualquier punto desde el que puedan hacer referencia a una expresión datetimeoffset.
SYSDATETIMEOFFSET es una función no determinista. Las vistas y expresiones que hacen referencia a esta función en una columna no se pueden indexar.
Nota
SQL Server obtiene los valores de fecha y hora usando 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. La precisión se puede determinar por medio de la API de Windows GetSystemTimeAdjustment().
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.
A. Mostrar los formatos devueltos por las funciones de fecha y hora
En el ejemplo siguiente se muestran los distintos formatos que devuelven las funciones de fecha y hora.
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. Conversión de fecha y hora a fecha
En el ejemplo siguiente se muestra cómo convertir valores de fecha y hora en 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. Convertir fecha y hora a horas
En el ejemplo siguiente se muestra cómo convertir valores de fecha y hora en time.
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