CURRENT_TIMESTAMP (Transact-SQL)

Devuelve la marca de hora del sistema de base de datos actual como un valor datetime sin el desplazamiento de zona horaria de la base de datos. Este valor se deriva del sistema operativo del equipo donde la instancia de SQL Server se está ejecutando.

[!NOTA]

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

Esta función es el equivalente de ANSI SQL a GETDATE.

Para ver información de todos los tipos de datos y funciones de fecha y hora de Transact-SQL, vea Funciones y tipos de datos de fecha y hora. Para obtener información y ejemplos comunes a los tipos de datos y funciones de fecha y hora, vea Usar datos de fecha y hora.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

CURRENT_TIMESTAMP

Argumentos

-
No tiene argumentos.

Tipo devuelto

datetime

Notas

Las instrucciones Transact-SQL pueden hacer referencia a CURRENT_TIMESTAMP en cualquier punto desde el que puedan hacer referencia a una expresión datetime.

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

Ejemplos

Los ejemplos siguientes usan las seis funciones de 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 diferir.

A. Obtener la fecha y hora actuales del sistema

SELECT SYSDATETIME()
    ,SYSDATETIMEOFFSET()
    ,SYSUTCDATETIME()
    ,CURRENT_TIMESTAMP
    ,GETDATE()
    ,GETUTCDATE();
/* Returned:
SYSDATETIME()      2007-04-30 13:10:02.0474381
SYSDATETIMEOFFSET()2007-04-30 13:10:02.0474381 -07:00
SYSUTCDATETIME()   2007-04-30 20:10:02.0474381
CURRENT_TIMESTAMP  2007-04-30 13:10:02.047
GETDATE()          2007-04-30 13:10:02.047
GETUTCDATE()       2007-04-30 20:10:02.047

B. Obtener la fecha actual del sistema

SELECT CONVERT (date, SYSDATETIME())
    ,CONVERT (date, SYSDATETIMEOFFSET())
    ,CONVERT (date, SYSUTCDATETIME())
    ,CONVERT (date, CURRENT_TIMESTAMP)
    ,CONVERT (date, GETDATE())
    ,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 CONVERT (time, SYSDATETIME())
    ,CONVERT (time, SYSDATETIMEOFFSET())
    ,CONVERT (time, SYSUTCDATETIME())
    ,CONVERT (time, CURRENT_TIMESTAMP)
    ,CONVERT (time, GETDATE())
    ,CONVERT (time, GETUTCDATE());

/* Returned
SYSDATETIME()      13:18:45.3490361
SYSDATETIMEOFFSET()13:18:45.3490361
SYSUTCDATETIME()   20:18:45.3490361
CURRENT_TIMESTAMP  13:18:45.3470000
GETDATE()          13:18:45.3470000
GETUTCDATE()       20:18:45.3470000
*/

Vea también

Referencia