74

使用 SQL Server - 这是用于日期检索的最快或最佳实践方法?有区别吗?

4

4 回答 4

97

CURRENT_TIMESTAMP是标准的 ANSI SQL,如果您需要移动数据库,理论上是在数千条 SQL Server 特定的 SQL 行中“不需要更改”的一个小岛。

于 2008-10-09T09:52:15.540 回答
34

CURRENT_TIMESTAMP是 ANSI SQL 规范的一部分。GETDATE()是 SQL Server 特定的函数,它继承自 SQL Server 所基于的原始 Sybase 代码。

不过,他们做的事情完全相同。

于 2008-10-09T09:52:56.803 回答
11

我的投票是出于CURRENT_TIMESTAMP“可移植性”的原因,即当有直接的 SQL-92 等价物时,为什么要特定于 SQL Server?

PS为什么没有命名getdatetime()?既然 SQL Server 2008 有DATETIME数据类型,我们可以希望获得对 SQL-92 的支持CURRENT_DATECURRENT_TIME,此时getdate()可能会更加混乱。

于 2008-10-09T11:11:12.573 回答
9

Books Online 告诉我们CURRENT_TIMESTAMP“相当于GETDATE()”。

于 2008-10-09T09:50:33.953 回答