CURRENT_TIMESTAMP (Transact-SQL)
Se aplica a: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punto de conexión de análisis SQL en Microsoft Fabric
Almacenamiento en Microsoft Fabric
Esta función devuelve la marca de tiempo del sistema de base de datos actual como un valor datetime sin el desplazamiento de zona horaria de la base de datos. CURRENT_TIMESTAMP
deriva este valor del sistema operativo del equipo en el que se ejecuta la instancia de SQL Server.
Nota
SYSDATETIME
y SYSUTCDATE
tienen más precisión, de acuerdo con la medición de la precisión de las fracciones de segundo, que GETDATE
y GETUTCDATE
. La función SYSDATETIMEOFFSET
incluye el ajuste de zona horaria del sistema. Puede asignar SYSDATETIME
, SYSUTCDATETIME
y SYSDATETIMEOFFSET
a una variable de cualquiera de los tipos de fecha y hora.
Esta función es el equivalente de ANSI SQL a GETDATE.
Consulte Tipos de datos y funciones de fecha y hora para ver información de todos los tipos y funciones de datos de fecha y hora de Transact-SQL.
Convenciones de sintaxis de Transact-SQL
CURRENT_TIMESTAMP
Esta función no toma ningún argumento.
datetime
Las instrucciones Transact-SQL pueden hacer referencia a CURRENT_TIMESTAMP
desde cualquier parte desde donde 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.
Estos ejemplos usan las seis funciones de sistema de SQL Server que devuelven los valores de fecha y hora actuales para devolver la fecha, la hora o ambas. Los ejemplos devuelven los valores en series, por lo que sus fracciones de segundo podrían diferir. Tenga en cuenta que los valores reales devueltos reflejarán la fecha y hora real de la ejecución.
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
*/
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
*/
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
*/
SELECT CURRENT_TIMESTAMP;