使用SQL Server,哪种方法用于日期检索的最快或最佳实践?CURRENT_TIMESTAMP
和GetDate()
有区别吗?
CURRENT_TIMESTAMP
是标准的ANSI SQL,因此理论上,如果您需要移动数据库,则在数千个特定于SQL Server的SQL行中,"不需要更改"的一个小岛。
CURRENT_TIMESTAMP
是ANSI SQL规范的一部分。 GETDATE()
是从 SQL Server 所基于的原始 Sybase 代码继承而来的特定于 SQL Server 的函数。
不过,他们做同样的事情。
出于"可移植性"的原因,我的投票支持CURRENT_TIMESTAMP
,即当有直接的 SQL-92 等效项时,为什么要特定于 SQL Server?
PS为什么不命名getdatetime()
?现在SQL Server 2008具有DATE
和TIME
数据类型,我们可以希望获得对SQL-92的CURRENT_DATE
和CURRENT_TIME
的支持,此时getdate()
可能会更加混乱。
Books Online告诉我们CURRENT_TIMESTAMP
"相当于GETDATE()
"。