【发布时间】:2014-08-05 06:41:39
【问题描述】:
SQL Server 中CURRENT_TIMESTAMP 和GETDATE() 有什么区别?
SELECT CURRENT_TIMESTAMP, GETDATE()
【问题讨论】:
标签: sql-server ansi-sql
SQL Server 中CURRENT_TIMESTAMP 和GETDATE() 有什么区别?
SELECT CURRENT_TIMESTAMP, GETDATE()
【问题讨论】:
标签: sql-server ansi-sql
CURRENT_TIMESTAMP 是一个 ANSI SQL 函数,而 GETDATE 是同一函数的 T-SQL 版本。
但是要注意的一件有趣的事情是,在 SSMS 中创建对象时,CURRENT_TIMESTAMP 被转换为 GETDATE()。这两个函数都以相同的方式从操作系统中检索它们的值。
CURRENT_TIMESTAMP 是推荐的用法,因为它可以移植到任何符合 ANSI 的数据库,而 GETDATE() 则不能。
编辑 - 关于性能 - 两者没有区别,因为
SQL-SERVER 引擎正在将CURRENT_TIMESTAMP 转换为GETDATE(),因此您实际上正在使用GETDATE()。
【讨论】:
CURRENT_TIMESTAMP 是否有一些额外的开销。