Retrieving the date in SQL Server; CURRENT_TIMESTAMP vs GetDate()
Asked Answered
S

4

74

Using SQL Server, which is the fastest or best practice method to use for date retrieval? Is there a difference between CURRENT_TIMESTAMP and GetDate()?

Snowfall answered 9/10, 2008 at 9:47 Comment(0)
H
96

CURRENT_TIMESTAMP is standard ANSI SQL, and so is theoretically one tiny little island of 'don't need to change' amongst your thousands of SQL Server-specific lines of SQL if you ever need to move databases....

Hughett answered 9/10, 2008 at 9:52 Comment(1)
You can also use {fn now()} equivalently if you want to go really old-school.Bigamist
D
33

CURRENT_TIMESTAMP is part of the ANSI SQL spec. GETDATE() is a SQL Server-specific function inherited from the original Sybase code on which SQL Server is based.

They do exactly the same thing, though.

Dody answered 9/10, 2008 at 9:52 Comment(0)
O
11

My vote is for CURRENT_TIMESTAMP for 'portability' reasons i.e. why be SQL Server -specific when there is a direct SQL-92 equivalent?

PS why was it not named getdatetime()? Now that SQL Server 2008 has a DATE and TIME data type, we can hope to get support for SQL-92's CURRENT_DATE and CURRENT_TIME, at which point getdate() could be potentially even more confusing.

Osteotomy answered 9/10, 2008 at 11:11 Comment(0)
A
8

Books Online tells us that CURRENT_TIMESTAMP "is equivalent to GETDATE()".

Alfilaria answered 9/10, 2008 at 9:50 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.