GETUTCDATE (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punto de conexión de análisis SQL en Microsoft FabricAlmacenamiento en Microsoft Fabric

Devuelve la marca de tiempo del sistema de la base de datos actual como un valor datetime. El ajuste de zona horaria de la base de datos no está incluido. Este valor representa la hora UTC actual (Hora universal coordinada). Este valor se deriva del sistema operativo del equipo donde la instancia de SQL Server se está ejecutando.

Nota

SYSDATETIME y SYSUTCDATETIME tienen más precisión de fracciones de segundo que GETDATE y GETUTCDATE. SYSDATETIMEOFFSET incluye el ajuste de zona horaria del sistema. SYSDATETIME, SYSUTCDATETIME y SYSDATETIMEOFFSET pueden asignarse a una variable de cualquier tipo de fecha y hora.

Para una introducción acerca de todos los tipos de datos y funciones de fecha y hora de Transact-SQL, vea Funciones de fecha y hora (Transact-SQL).

Convenciones de sintaxis de Transact-SQL

Sintaxis

GETUTCDATE()

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulta la Documentación de versiones anteriores.

Tipos de valor devuelto

datetime

Observaciones

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

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

Ejemplos

Los ejemplos siguientes usan las seis funciones de sistema SQL Server que devuelven 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 Obtener la fecha y hora actuales del sistema

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

Conjunto de resultados:

 SYSDATETIME()         2007-05-03 18:34:11.9351421   
 SYSDATETIMEOFFSET()   2007-05-03 18:34:11.9351421 -07:00   
 SYSUTCDATETIME()      2007-05-04 01:34:11.9351421   
 CURRENT_TIMESTAMP     2007-05-03 18:34:11.933   
 GETDATE()             2007-05-03 18:34:11.933   
 GETUTCDATE()          2007-05-04 01:34:11.933  

B. Obtener la fecha actual del sistema

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

Conjunto de resultados:

 SYSDATETIME()        2007-05-03  
 SYSDATETIMEOFFSET()  2007-05-03  
 SYSUTCDATETIME()     2007-05-04  
 CURRENT_TIMESTAMP    2007-05-03  
 GETDATE()            2007-05-03  
 GETUTCDATE()         2007-05-04  

C. Obtener la hora actual del sistema

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

Conjunto de resultados:

 SYSDATETIME()        18:25:01.6958841
 SYSDATETIMEOFFSET()  18:25:01.6958841
 SYSUTCDATETIME()     01:25:01.6958841
 CURRENT_TIMESTAMP    18:25:01.6930000
 GETDATE()            18:25:01.6930000
 GETUTCDATE()         01:25:01.6930000