Compartir a través de


SYSUTCDATETIME (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseInstancia administrada de Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Punto de conexión de SQL Analytics en Microsoft FabricAlmacén en Microsoft FabricBase de datos SQL en Microsoft Fabric

Devuelve un valor datetime2 que contiene la fecha y hora del equipo en el que la instancia de SQL Server se está ejecutando. La fecha y hora se devuelven como una hora universal coordinada (UTC). La especificación de precisión de fracción de segundo tiene un intervalo de 1 a 7 dígitos. La precisión predeterminada es 7 dígitos.

Ten en cuenta:

  • 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, SYSUTCDATETIMEy SYSDATETIMEOFFSET se pueden asignar a una variable de cualquiera de los tipos de fecha y hora.

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

Syntax

SYSUTCDATETIME ( )

Tipos de retorno

datetime2

Remarks

Transact-SQL instrucciones pueden hacer referencia a SYSUTCDATETIME cualquier lugar donde puedan hacer referencia a una expresión datetime2 .

SYSUTCDATETIME es una función no determinista. Las vistas y expresiones que hacen referencia a esta función en una columna no se pueden indexar.

Note

SQL Server obtiene los valores de fecha y hora mediante la GetSystemTimeAsFileTime() API de Windows. 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 mediante la GetSystemTimeAdjustment() API de Windows.

Examples

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() AS [SYSDATETIME()],
       SYSDATETIMEOFFSET() AS [SYSDATETIMEOFFSET()],
       SYSUTCDATETIME() AS [SYSUTCDATETIME()],
       CURRENT_TIMESTAMP AS [CURRENT_TIMESTAMP],
       GETDATE() AS [GETDATE()],
       GETUTCDATE() AS [GETUTCDATE()];

Este es el conjunto de resultados.

SYSDATETIME()       2025-10-20 13:10:02.0474381
SYSDATETIMEOFFSET() 2025-10-20 13:10:02.0474381 -07:00
SYSUTCDATETIME()    2025-10-20 20:10:02.0474381
CURRENT_TIMESTAMP   2025-10-20 13:10:02.047
GETDATE()           2025-10-20 13:10:02.047
GETUTCDATE()        2025-10-20 20:10:02.047

B. Conversión de fecha y hora a fecha

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());

Este es el conjunto de resultados.

2025-10-20
2025-10-20
2025-10-20
2025-10-20
2025-10-20
2025-10-20

C. Conversión de valores de fecha y hora a hora

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

DECLARE @DATETIME AS DATETIME = GetDate();
DECLARE @TIME AS TIME;
SELECT @TIME = CONVERT (TIME, @DATETIME);
SELECT @TIME AS 'Time',
       @DATETIME AS 'Date Time';

Este es el conjunto de resultados.

Time             Date Time
13:49:33.6330000 2025-10-20 13:49:33.633