| title | CURRENT_TIMESTAMP (Transact-SQL) | Microsoft Docs | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ms.custom | |||||||||||||||
| ms.date | 03/14/2017 | ||||||||||||||
| ms.prod | sql-non-specified | ||||||||||||||
| ms.reviewer | |||||||||||||||
| ms.suite | |||||||||||||||
| ms.technology |
|
||||||||||||||
| ms.tgt_pltfrm | |||||||||||||||
| ms.topic | language-reference | ||||||||||||||
| f1_keywords |
|
||||||||||||||
| dev_langs |
|
||||||||||||||
| helpviewer_keywords |
|
||||||||||||||
| ms.assetid | c724d9cc-7b1f-4c71-bdf5-08bc52b33afc | ||||||||||||||
| caps.latest.revision | 48 | ||||||||||||||
| author | BYHAM | ||||||||||||||
| ms.author | rickbyh | ||||||||||||||
| manager | jhubbard |
[!INCLUDEtsql-appliesto-ss2008-all_md]
Returns the current database system timestamp as a datetime value without the database time zone offset. This value is derived from the operating system of the computer on which the instance of [!INCLUDEssNoVersion] is running.
Note
SYSDATETIME and SYSUTCDATE have more fractional seconds precision than GETDATE and GETUTCDATE. SYSDATETIMEOFFSET includes the system time zone offset. SYSDATETIME, SYSUTCDATE, and SYSDATETIMEOFFSET can be assigned to a variable of any of the date and time types.
This function is the ANSI SQL equivalent to GETDATE.
For an overview of all [!INCLUDEtsql] date and time data types and functions, see Date and Time Data Types and Functions.
Transact-SQL Syntax Conventions
-- Syntax for SQL Server, Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse
CURRENT_TIMESTAMP
Takes no arguments.
datetime
[!INCLUDEtsql] 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.
The following examples use the six [!INCLUDEssNoVersion] system functions that return current date and time to return the date, the time, or both. The values are returned in series so their fractional seconds might differ.
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;