• ベストアンサー

日付や日時を格納する場合の型はどうしていますか?

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

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

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

date や time にします。 Mysqlは結構豊富に関数がそろっているので問題が起こることはないでしょう。 日付型のデメリットは特にないですね。

参考URL:
http://dev.mysql.com/doc/mysql/ja/date-and-time-functions.html
php4
質問者

お礼

同じ考え方の方がいてホッとしました。 bigintとか使っている人もいるみたいで優柔不断な 私は大変困っておりました。 確実に日時のデータという保証がされる点で、基本的には 日付や時間を使う方が良さそうですね。 ありがとうございます。

その他の回答 (2)

  • hogefuga
  • ベストアンサー率75% (6/8)
回答No.3

私はJavaでMySQLを使っているのですが人間が直接DBをいじらない場合はBIGINTにしています(現在時刻はSystem.currentTimeMillis()で取得しています)。 利点はプログラムでの時間の計算が簡単だということと、ほかのDBへの移行が簡単だということです。 欠点は人間がDBに格納された値を見た場合に時間がわからないということですかね。

  • k-roh
  • ベストアンサー率36% (14/38)
回答No.2

日付や日時の使い方次第だと思います。 たとえば、処理のログをとる場合は、ありえない日時が入ることがないので date,timeでいいと思います。 しかし、注文伝票の配達指定日のように「データーがあったりなかったりするばあい」へたにdateにするよりはvarchar にして未入力状態に対応できるようにした方がいいです。

関連するQ&A