Retrieving date in sql server, CURRENT_TIMESTAMP vs GetDate()

Using SQL Server – which is the fastest or best practice method to use for date retrieval? Is there a difference?

  • SSRS 2008: error message saying my parameter doesn't exist but it clearly does?
  • Easiest way to make copy SQL Server DB to test DB?
  • SQL Server Check/NoCheck difference in generated scripts
  • INSERT deleted values into a table before DELETE with a DELETE TRIGGER
  • Inserting through pymssql but no rows appear in the database
  • java.sql.SQLException: Invalid state, the ResultSet object is closed
  • 4 Solutions collect form web for “Retrieving date in sql server, CURRENT_TIMESTAMP vs GetDate()”

    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….

    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.

    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.

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

    MS SQL Server is a Microsoft SQL Database product, include sql server standard, sql server management studio, sql server express and so on.