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.
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.
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 */
Nota