SQL Serverの使用-日付の取得に使用する最速またはベストプラクティスの方法はどれですか。違いはありますか?
CURRENT_TIMESTAMPは標準のANSI SQLであり、データベースを移動する必要がある場合、理論的には何千ものSQL Server固有のSQL行の中で「変更する必要がない」という小さな島です。
CURRENT_TIMESTAMPは、ANSI SQL仕様の一部です。 GETDATE()は、SQL Serverが基づいている元のSybaseコードから継承されたSQL Server固有の関数です。
ただし、まったく同じことを行います。
私の投票は、「移植性」の理由で_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()と同等」であることを示しています。