
初投稿です。うまく伝えれるかわかりませんがみなさんきいてください
WEBページから入力した日付をMySQLに登録するときはchar型で登録してもいいんでしょうか?
登録の感じは20080910(2008年9月10日)で8桁で登録しています。(insert)
次に日付の開始日~終了日を入力して開始日から終了日に当てはまるデータを取り出すといったことをします。
↑で登録した日付を取り出したいのです。
しかしselect文で日付検索をする場合は2008-01-01と間にハイフンが入っていることに気づきました。
と言う事は登録のときに2008-09-10といった感じでchar型の10桁指定で登録したほうがいいんでしょうか?
説明不足かもしれませんが皆さん協力お願いします。
No.1ベストアンサー
- 回答日時:
せっかく、RDBMSを使うのでしたら、日付や時刻は文字列型で持つのは止めた方がいいでしょう。
DATE型で持つべきでしょう。プログラムから発行するSQL文では、文字列として渡すことになります。そのときの書式は'2008-09-10'といった形ですが、テーブル上では文字列として持つわけじゃないです。
DATE型またはDATETIME型で持つ利点は
・現在時刻の取り扱いが容易
・限定されてはいるが、演算も可能
・誤った日付2008-13-41などは入らない
etc
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
条件ごとに最大値を持つデータ...
-
<SQL>重複しているデータの場合...
-
SQLローダーCSV取込で、囲み文...
-
テーブルの最後(最新)のレコー...
-
SQL文 複数実行
-
Oracleで「文字が無効です」の...
-
単一グループのグループ関数で...
-
並べ替えについて
-
SELECT FOR UPDATE で該当レコ...
-
AccessのSQL文で1件のみヒット...
-
OracleとAccessの出力順の違い
-
【SQL】違うフィールド同士の集...
-
group byの並び順を変えるだけ...
-
updateで複数行更新したい
-
配列に指定した値が含まれてい...
-
トランザクションログを出力せ...
-
アクセスのレポートでレコード...
-
「数字で始まらない」ものを抽...
-
任意の上位の集計を取得するには?
-
count関数の値をwhere句で使用...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<SQL>重複しているデータの場合...
-
複数のテーブルから値を合計出...
-
SQLで、同じ値が何回連続す...
-
最新の日付と2番目の日付のデー...
-
【ExcelVBA】入力された日付か...
-
mysqlでunixtimeによる日付範囲...
-
日付検索で0001-01-01 00:00:00...
-
DISTINCTROWについてです。
-
MySQLで特定のグループの上位3...
-
MySQLのdatetime型に0月0日を格納
-
MySQLで日付(date)型のdefaul...
-
SQLです教えてくださいお願いし...
-
下記の問合せを行うクエリを、 ...
-
日付
-
「8月の第3土日」をデータベ...
-
サブクエリを使わない方法
-
windows7のmysqlで今日の日付か...
-
どんなSQL文にすればいいか悩ん...
-
mysqlに格納されている日付のデ...
-
LIKE検索で範囲指定の方法
おすすめ情報