web-dev-qa-db-ja.com

SQLサーバーでの日付の取得、CURRENT_TIMESTAMPとGetDate()

SQL Serverの使用-日付の取得に使用する最速またはベストプラクティスの方法はどれですか。違いはありますか?

67
digiguru

CURRENT_TIMESTAMPは標準のANSI SQLであり、データベースを移動する必要がある場合、理論的には何千ものSQL Server固有のSQL行の中で「変更する必要がない」という小さな島です。

91
Cowan

CURRENT_TIMESTAMPは、ANSI SQL仕様の一部です。 GETDATE()は、SQL Serverが基づいている元のSybaseコードから継承されたSQL Server固有の関数です。

ただし、まったく同じことを行います。

31
Dylan Beattie

私の投票は、「移植性」の理由で_CURRENT_TIMESTAMP_に賛成です。つまり、直接SQL-92に相当するものがSQL Server固有である理由は何ですか。

PSなぜgetdatetime()と名付けられなかったのですか? SQL Server 2008のデータ型がDATEおよびTIMEになったので、SQL-92の_CURRENT_DATE_および_CURRENT_TIME_のサポートが得られると期待できます。この時点でgetdate()はさらに混乱を招く可能性があります。

10
onedaywhen

Books Onlineは、CURRENT_TIMESTAMPは「GETDATE()と同等」であることを示しています。

9
ila