GETUTCDATE (Transact-SQL)
Devuelve la marca de tiempo del sistema de base de datos actual como un valor datetime. El desfase 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 de su PC donde la instancia de SQL Server se está ejecutando.
Nota
SYSDATETIME y SYSUTCDATETIME tienen más precisión en segundos fraccionaria que GETDATE y GETUTCDATE. SYSDATETIMEOFFSET incluye el defase de zona horaria del sistema. SYSDATETIME, SYSUTCDATETIME y SYSDATETIMEOFFSET pueden asignarse a una variable de tipo fecha y hora.
Para obtener información general sobre todos los tipos de datos y funciones de fecha y hora de Transact-SQL, consulte Funciones de fecha y hora (Transact-SQL). Para obtener información y ejemplos comunes a los tipos de datos y funciones de fecha y hora, consulte Usar datos de fecha y hora.
Sintaxis
GETUTCDATE()
Tipos de valor devueltos
datetime
Comentarios
Las instrucciones Transact-SQL pueden hacer referencia a GETUTCDATE desde cualquier parte punto desde el que 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 segundos fraccionarios 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();
/* Returned:
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());
/* Returned:
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());
/* Returned
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
*/