CURRENT_TIMESTAMP和GETDATE()之间的区别

meh*_*tfi 32 sql-server ansi-sql

CURRENT_TIMESTAMPGETDATE()SQL Server有什么区别?

SELECT CURRENT_TIMESTAMP, GETDATE()
Run Code Online (Sandbox Code Playgroud)

Luk*_*son 48

CURRENT_TIMESTAMP是ANSI SQL函数,而是GETDATE同一函数的T-SQL版本.

但值得注意的一件事是,在SSMS中创建对象时,CURRENT_TIMESTAMP将转换为GETDATE().这两个函数以相同的方式从操作系统中检索它们的值.

我建议坚持使用CURRENT_TIMESTAMP,因为它可以移植到任何符合ANSI标准的数据库.

  • 我很乐意看到一个数据库提供商已被更改的项目,因为在我10年的经验中,我没有看过一个 (4认同)
  • 在性能上有什么明显的不同吗?例如,如果我以每秒数千个的速度生成日志记录,那么我可能会担心“ CURRENT_TIMESTAMP”是否有与此相关的额外开销。 (2认同)
  • @Ivanzinho,我3年前做到了,我们将db2数据库迁移到SQL Server,并保留了所有C#应用程序。由于C#数据库访问代码是与其他所有代码分开的,因此这并不是什么大问题。我从2004年开始从事开发工作,所以花了11年的时间才看到它,也许明年就可以了;) (2认同)