• ベストアンサー

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

  • ●SQL Server 2000●日付だけ取得する(時間がいらない)

    お世話になります。 current_timestampを使って現在日付を取得しています。しかし、ここに時間も入ってしまいます。 時間を00:00:00にしたいのですが、どのように行ったらいいでしょうか。 よろしくお願いします。

  • データベースからの日付データの取得について。

    JBuilder6の中での話しなのですが、 SQLSERVERのdatetime型のデータをClassの中で取得しようと思い、以下のようにしましたがうまく時間の部分が取得できません。 DateFormat df = DateFormat.getTimeInstance(); //日時項目からデータの取得 GetDate=df.format(rs.getDate("日時")); 例えば「2002/07/11 12:40:40」というデータがあった場合、 GetDateの中身は「2002/07/11 00:00:00」になってしまいます。 なにがいけないのでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Java
  • 日付や時刻を取得する関数について

    JavaScriptで var date = new Date() ; var d = date.getDate(); で今日の日付を取得できると思うのですが、 自分の環境は日本なので今現在では6(日)を取得します。 それでは例えば外国の別の場所でこのスクリプトを実行したら その国の日付をちゃんと取得できているのでしょうか? getUTCDate()ととの違いもよくわからないので、そこらへんも含めて解説していただけないでしょうか?

  • 日付の表示について

    いつも参考にさせて頂いています。 現在WEBアプリを開発中です。 timestamp型の値を(MM/DD hh:mm)という形式にフォーマットして画面に出力したいと思っています。 (MM:月 DD:日付 hh:時間 mm:分) ResultSetの「getDate()」メソッドを使用してtimestamp型の値を取得し、SimpleDateFormatの「format()」メソッドで整形すると日付までしか値が反映されず時間と秒は「00:00」と表示されてしまいます。 うまく表示するにはどうしたらよろしいでしょうか? ResultSetの「getString()」メソッドで取得し、文字列の連結等で整形すると表示できそうなのですが、可能な限りSimpleDateFormatの「format()」メソッドで整形したいと思っています。 以上宜しくお願いします。 環境 ・mysql4.1 ・jdk1.4.12 ・struts1.2

    • ベストアンサー
    • Java
  • 日付処理

    下記のような日付処理をするとうまくいきません。 termが2005/12/1の場合、そのtermにプラス3ヶ月した値が今日よりも大きい場合という意味になります。 単体で処理すると、下記のような値になりますが、これですと検索結果が0件になってしまいます。どのように変更したらいいのでしょうか? (TO_TIMESTAMP(term, 'YYYY-MM-DD') + '3 months')は2006-03-01 00:00:00+09 CURRENT_TIMESTAMPは2005-12-12 4:20:58.593103+09 (TO_TIMESTAMP(term, 'YYYY-MM-DD') + '3 months') >=CURRENT_TIMESTAMP

  • 「システム日付」を挿入する

    フィールドに「システム日付」を挿入するSQLを作成する方法が分かりません。 GETDATE()という関数を使えばいいらしいですが、どのようにすれば良いでしょうか? INSERT文を使ってdatetime型の値が入る列に挿入するという形式です。

  • Date型からChar型への変換

    SQLServer初心者です。 OracleではDate型をChar型にして抜き出したい場合、 関数ToCharを使っていますが、SQLServerにはこの関数がないようですが、どの関数がこれにあたるのでしょうか? また、やりたいことはGetDateにより取得したシステム日付を、Char型の'yyyy/mm/dd'として出力したいのですがどのように記述したらよいのでしょうか。

  • 前日の日付取得するには?

    localtimeでシステム日付を取得していますが、前日のシステム日付を取得するにはどのようにすればよいのでしょうか?

    • ベストアンサー
    • Perl
  • 日付がINT型として入っている場合の取得は?

    DB2のテーブルで日付がINT型で入っている箇所がありますが取得できません。 データの形がYYYYMMDDという風に入っています。型はINTです。 今日の日付のデータを取得したいのでcurrent_dateを使えばいいと思うのですが、current_dateは日付型ですよね(直指定以外で・・・) 変換をしようと思うのですが、INT型に変換できません・・・ そもそもできないのでしょうか?VARCHAR_FORMATとかは使えないのでしょうか?

  • i-Appliでのシステム日付の取得方法

    i-Appli用アプリを開発していますが、システム日付の年を取得するため、 Dateオブジェクトの"getYear()"を使うと、「メソッドがありません。」と 怒られます。 どなたか、J2MEWSDK4DOJAでのシステム日付の取得方法ご存知でしたら 教えてください。

    • ベストアンサー
    • Java