• 締切済み

Datetime型とTimestamp型の使い分けについて。

Datetime型とTimestamp型ではどのように使い分けるのが一般的なのでしょうか? とりあえず、表示日時や諸費バイト数に差があるのはわかったのですが、その他にDatetime型とtimestamp型でメリットデメリットが何かあるのでしょうか?

  • MySQL
  • 回答数1
  • ありがとう数3

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

そもそもtimestampはそのデータの更新日時を収納しておく場所なので 使い方は最初から違います。 つまりtimestamp型で定義されたフィールドは、そのデータ項目の1か所でも 修正が入った場合は、自動でnowが入ります。 一方datetime型は単に日時を入れておくフィールドです

関連するQ&A

  • datetime? timestamp?

    初心者です。申し訳ありません。 教えて頂けますか? paypal IPN の支払い日時の項目が、 22:21:15 Dec. 20, 2009 PST というフォーマットでした。 これは、datetime でも timestamp でもありませんよね? datetimeに変換する方法はありますか?

    • ベストアンサー
    • MySQL
  • now()かCURRENT_TIMESTAMPか

    いつもお世話になります。 アンケート的な質問があります。 datetime型の登録日カラムがあるとします。 普段は登録日時としてCURRENT_TIMESTAMPを使用して インサートしています。 しかし、同様の関数でnow()がありますが、 みなさんはどちらを利用していますでしょうか? 使い分けがいまいちわかりませんので、質問いたしました。 どうぞ宜しくお願いします。

    • ベストアンサー
    • MySQL
  • MySQLのDatetime型の引き算

    ある機械の1日当たりの処理数を計算したいと思います。 Datetimeの引き算がうまくいかないので、解決方法を教えてください。 1日当たりの処理数は下記の式で計算できます。 1日当たりの処理数=期間内処理数÷((現在日時-作業開始日時)÷(60×60×24)) ※現在日時-作業開始日時で期間の秒数を計算 それを1日の秒数=86400秒(60秒×60分×24時間)で割る。 ------------------ 環境 MySQL:5.0.77 ------------------ テーブル: test カラム :num(INT型),start_date(DATETIME型) ※numは期間内の機械の処理数です。 まず、上記の1日当たりの処理数の数式をSQL文に反映させてみました。 SELECT num , num/((now()-start_date)/86400) as shorisu FROM test 結果は表示されるのですが、かなり大きな数値になって出てきてしまいます。 WEBで情報を検索したところ、DATETIME型を直接減算すると求める結果にならないことはわかりました。 MySQLのページ(11.5. 日付時刻関数) http://dev.mysql.com/doc/refman/5.1/ja/date-and-time-functions.html を見てみましたが、どの関数を使えばよいのかいまいちわかりません。 now()-start_dateの部分が正しい値を返すようになれば良いのですが、どのような式を書けばよいのでしょうか?

    • ベストアンサー
    • PHP
  • DateTime型の表示

    初心者です。教えて下さい PHP+Pearで検索取得して 文字列型、数値型は表示出来るのですが、 DateTime型の表示がされません。文字列に変換する必要があるのでしょうか?どうすればよいですか? よろしくおねがいします。 <?php //省略 print("更新日時:" . $data['updateddatetime'] ); //省略 ?>

    • ベストアンサー
    • MySQL
  • TIMESTAMPについて

    MySQLを用いて会員管理システムを構築しております。 仮登録者テーブルと本登録者テーブルの二つを用意しており、 仮登録者の本人確認が取れた時点で、本登録者テーブルへ データを丸々コピーする仕様にしております。 この際に、仮登録日時をTIMESTAMPを用いて日時を取得していますが、 本登録者テーブルへデータをコピーするタイミングで、【 本登録日時 】を 計算させるSQL文等をどの様に記述すればいいのかが分かりません。 現在は、この様なSQL文にしております。 ---------------------------------------------------------------------- $sql = "INSERT INTO user_table SELECT * FROM user_table_2 WHERE (number = ".intval($number).");"; ---------------------------------------------------------------------- user_table_2( 仮登録者テーブル )のデータをuser_table( 本登録者テーブル )へ コピーします。 【 仮登録の日時 】+【 本登録操作を行った日時 】=【 本登録日時 】という計算を WHERE句で実行出来るものなのでしょうか? それとも他に別の方法がありましたら、何卒ご教授いただきたく存じます。 各スペックは以下の通りです。 ---------------------------------- PHP 5.1.6 MySQL 5.0.77 サーバOS Linux ---------------------------------- どうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • datetime型、未入力時の日時表示について

    PHP&MySQL初心者です。 同窓会の申し込みフォーム作成していますが、日時表示について質問です。 参加希望日時をカレンダー入力させて、データベースに登録しています。 日時はカラムを分けずにまとめてdatetime型にしています。 ■第一希望 [カレンダー入力](年月日時分をまとめて) ■第二希望 [カレンダー入力](年月日時分をまとめて) →データベース(mySQL)には、 datetime型「2016-01-05 02:50:00」形式で登録。 カレンダー入力せずにINSERTされたとき、datetime型だと、 「0000-00-00 00:00:00」で登録されますが、 この値を、date('Y年n月j日 g時i分', strtotime(カラム値)); で読み出すと、「1970 年 1 月 1 日 00:00:00」と表示されます。 このままではまずいので、単純に空欄としたいのです。 カレンダー入力されなかったとき、つまり、「0000-00-00 00:00:00」で登録されているとき、 日時表示を空欄にするスマートな方法はありますか?

    • ベストアンサー
    • PHP
  • SQL Server 2005で、datetime型の使用

    テーブルで、datetime型を指定して、日時データを書き込もうとしています。DataGridViewに次のコードで書き込もうとすると、有効な値ではありません。と表示されます。 ※コードの一部 mydate="07/06" mytime="01:01" Form1.testDataGridView(12, MyCount).Value = DateValue(Mydate) + TimeValue(Mytime) どなたか?詳しい方いらっしゃいましたら教えてください。 testDataGridView(12, MyCount)の位置は、間違えていません。(12は、datetime型です) よろしくお願いします。

  • DATETIME型からUNIX時間を求める方法

    現在、MYSQL、DATETIME型 YYYY-MM-DD HH:MM:SS からUNIX時間を求める際に、気軽に質問出来る詳しい方が知り合いにおらずPHP学習中で知識が乏しいため、YYY-MM-DD HH:MM:SS をスペースで分割、をハイフンで分割、HH:MM:SSをコロンで分割、その後、mktimeに当てはめてUNIX時間を求めています。 他に簡単にDATETIME型からUNIXTIME求める関数などがありましたらご教示頂けましたら嬉しいです。 それとも、計算が必要な日時をMYSQLに格納する場合はINSERTする場合にUNIX時間でINSERTし、表示が必要な場合に、DATE関数等で日時として表示する方が良いのでしょうか?

    • ベストアンサー
    • PHP
  • 日付や日時を格納する場合の型はどうしていますか?

    WEBアプリケーションで データベース(MySQL)を使うのですが、 日付や日時を格納する場合の型は varchar(10)、date、datetime のどれにしていますか? 文字型と日付型か迷っているので、 メリット、デメリットがあれば知りたいです。

    • ベストアンサー
    • MySQL
  • 携帯電話のアンテナに使われる周波数について

    携帯電話のアンテナに使われる周波数には、色々な高さの周波数が使われていますが、一般的に、周波数が高い方がどのようなメリットデメリットがあって、低い方はどんなメリットデメリットがあるのか教えていただけませんでしょうか?