【问题标题】:Retrieving date in sql server, CURRENT_TIMESTAMP vs GetDate()在 sql server 中检索日期,CURRENT_TIMESTAMP vs GetDate()
【发布时间】:2008-10-09 09:47:36
【问题描述】:

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

【问题讨论】:

    标签: sql-server getdate


    【解决方案1】:

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

    【讨论】:

    • 如果你想真的老派,你也可以等效地使用{fn now()}
    【解决方案2】:

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

    不过,他们做的事情完全一样。

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

        Books Online 告诉我们CURRENT_TIMESTAMP“等同于GETDATE()”。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-02-02
          • 1970-01-01
          • 2019-01-27
          • 1970-01-01
          • 2018-05-22
          • 1970-01-01
          • 2013-10-28
          相关资源
          最近更新 更多