CURRENT_TIMESTAMP (Transact-SQL)
Applies to:
SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL analytics endpoint in Microsoft Fabric
Warehouse in Microsoft Fabric
This function returns the current database system timestamp as a datetime value, without the database time zone offset. CURRENT_TIMESTAMP
derives this value from the operating system of the computer on which the instance of SQL Server runs.
Note
SYSDATETIME
and SYSUTCDATE
have more precision, as measured by fractional seconds precision, than GETDATE
and GETUTCDATE
. The SYSDATETIMEOFFSET
function includes the system time zone offset. You can assign SYSDATETIME
, SYSUTCDATETIME
, and SYSDATETIMEOFFSET
to a variable of any of the date and time types.
This function is the ANSI SQL equivalent to GETDATE.
See Date and Time Data Types and Functions for an overview of all the Transact-SQL date and time data types and functions.
Transact-SQL syntax conventions
Syntax
CURRENT_TIMESTAMP
Note
To view Transact-SQL syntax for SQL Server 2014 (12.x) and earlier versions, see Previous versions documentation.
Arguments
This function takes no arguments.
Return Type
datetime
Remarks
Transact-SQL statements can refer to CURRENT_TIMESTAMP
, anywhere they can refer to a datetime expression.
CURRENT_TIMESTAMP
is a nondeterministic function. Views and expressions that reference this column cannot be indexed.
Examples
These examples use the six SQL Server system functions that return current date and time values, to return the date, the time, or both. The examples return the values in series, so their fractional seconds might differ. Note that the actual values returned will reflect the actual day / time of execution.
A. Get the Current System Date and Time
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. Get the Current System Date
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. Get the Current System Time
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
*/
Examples: Azure Synapse Analytics and Analytics Platform System (PDW)
SELECT CURRENT_TIMESTAMP;