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()?
4 Answers
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....
- 
                    6You can also use `{fn now()}` equivalently if you want to go *really* old-school. – brianary Oct 22 '15 at 15:37
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.
 
    
    - 26,243
- 28
- 134
- 248
 
    
    - 53,688
- 35
- 128
- 197
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.
 
    
    - 55,269
- 12
- 100
- 138
 
     
     
    