使用 SQLServer ——用于数据检索的最快方法或最佳实践方法是什么?有区别吗?
在线图书告诉我们,CURRENT_TIMESTAMP“相当于 GETDATE()”。
CURRENT_TIMESTAMP
GETDATE()
CURRENT_TIMESTAMP是标准的 ANSI SQL,理论上来说,如果你需要移动数据库的话,那么在成千上万特定于 SQL Server 的 SQL 行中,有一个“不需要改变”的小岛。
CURRENT_TIMESTAMP是 ANSI SQL 规范的一部分。GETDATE()是从 SQLServer 所基于的原始 Sybase 代码继承的特定于 SQLServer 的函数。
但他们做的事情完全一样。
出于“可移植性”的原因,我赞成使用 CURRENT_TIMESTAMP,也就是说,如果直接使用 SQL-92,为什么还要特定于 SQL Server?
另外,为什么没有命名为 getdatetime()?既然 SQL Server 2008具有 DATE和 TIME数据类型,我们就可以希望获得对 SQL-92的 CURRENT_DATE和 CURRENT_TIME的支持,此时 getdate()可能会更加令人困惑。
getdatetime()
DATE
TIME
CURRENT_DATE
CURRENT_TIME
getdate()