【发布时间】:2008-10-09 09:47:36
【问题描述】:
使用 SQL Server - 这是用于日期检索的最快或最佳实践方法?有区别吗?
【问题讨论】:
标签: sql-server getdate
使用 SQL Server - 这是用于日期检索的最快或最佳实践方法?有区别吗?
【问题讨论】:
标签: sql-server getdate
CURRENT_TIMESTAMP 是标准的 ANSI SQL,因此如果您需要移动数据库,理论上它是数千条 SQL Server 特定的 SQL 行中的一个“不需要更改”的小岛。
【讨论】:
{fn now()}。
CURRENT_TIMESTAMP 是 ANSI SQL 规范的一部分。 GETDATE() 是一个特定于 SQL Server 的函数,继承自 SQL Server 所基于的原始 Sybase 代码。
不过,他们做的事情完全一样。
【讨论】:
出于“可移植性”的原因,我投票支持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()”。
【讨论】: