• ベストアンサー

sqlserverのシステム日付取得について

sqlserver2012のシステム日付(現在の日時)の取得なのですが、 current_timestampかgetdateかで取得しようとしているので すが、両方とも同じ内容となります。 current_timestampとgetdateの違いは何でしょうか。 また、どちらを使うのがよいのでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mitoneko
  • ベストアンサー率58% (469/798)
回答No.1

 実は、内部でやってることは全く同じです。  (マニュアルの内容からすると、current_timestampは単純にgetdateを呼び出すだけのラッパー関数、又はその逆の可能性が高いです。)  何が違うかというと、getdateは、sqlserverの方言です。ただし、sqlserverの世界では昔から使われている形式です。(プログラミングの際にキーを叩く回数もこっちが少ないか(笑))  一方、current_timestampの方は、ANSI SQLの正規の名称です。そのため、他のDBMSに移行する時に、楽かもしれないですね。  たんにそれだけのことなんで、動きに関しては何の影響も無いのですが、まぁ、折角ANSI SQL表現があるわけですから、特に理由が無ければ、current_timestampを使っておいた方が将来の移植や他人が読む為には都合が良いと思います。

abc999xyz
質問者

お礼

丁寧なご説明ありありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A