MySQLでは、日付をDATE、DATETIME、TIMESTAMPの3つのデータ型で扱うことができます。
DATE型 DATE型は、年月日の情報を表現するデータ型です。日付の範囲は、'1000-01-01'から'9999-12-31'までです。例えば、'2023-02-17'のように、年月日を表す文字列をそのまま格納することができます。
DATETIME型 DATETIME型は、年月日と時分秒の情報を表現するデータ型です。日付の範囲は、'1000-01-01 00:00:00'から'9999-12-31 23:59:59'までです。例えば、'2023-02-17 15:30:00'のように、年月日と時分秒を表す文字列をそのまま格納することができます。
TIMESTAMP型 TIMESTAMP型は、DATETIME型と同じく年月日と時分秒の情報を表現するデータ型ですが、特別な挙動を持ちます。具体的には、TIMESTAMP型は、格納される値がUTC(協定世界時)に自動的に変換され、格納される際のタイムゾーンに基づいて、自動的に変換されます。また、格納される値が変更された場合、自動的に更新されます。
これらのデータ型を使って、日付を格納する列を作成することができます。例えば、以下のようにCREATE TABLE文を書くことで、日付を格納するためのテーブルを作成することができます。
CREATE TABLE my_table ( id INT AUTO_INCREMENT PRIMARY KEY, my_date DATE, my_datetime DATETIME, my_timestamp TIMESTAMP );
このように、テーブルに日付を格納する列を作成し、それに対してINSERT文やUPDATE文を実行することで、日付の情報をデータベースに保存することができます。
また、日付に関するデータの操作には、日付関数が用意されています。例えば、DATE_ADD関数を使うことで、ある日付に指定した日数を加算した日付を計算することができます。
SELECT DATE_ADD('2023-02-17', INTERVAL 1 DAY); -- 結果: '2023-02-18'
以上がMySQLにおける日付の扱いについての説明です。