- Home ›
- MySQLの使い方 ›
- MySQLのデータ型 ›
- HERE
日付型と時刻型
ここでは日付型と時刻型について確認していきます。次のデータ型が用意されています。
DATE フォーマット : 'YYYY-MM-DD' 範囲 : '1000-01-01' から '9999-12-31' DATETIME フォーマット : 'YYYY-MM-DD HH:MM:SS' 範囲 : '1000-01-01 00:00:00' から '9999-12-31 23:59:59' TIMESTAMP フォーマット : 'YYYY-MM-DD HH:MM:SS' 範囲 : '1970-01-01 00:00:01' から '2037-12-31 23:59:59' TIME フォーマット : 'HH:MM:SS' 範囲 : '-838:59:59' から '838:59:59' YEAR[(2|4)] フォーマット : YYYY 範囲 : 1901 から 2155、そして 0000 (4桁の場合) 範囲 : 70 から 69 (2桁の場合、70は1970を表し69は2069を表す) デフォルトは4桁
こららのデータ型は日付と時刻を格納するために使われます。
DATE型
日付を文字列として指定する場合、'YYYY-MM-DD'が基本となるフォーマットですが、次のような指定方法も許可されています。
フォーマット 入力例 ----------------------- ------------------------- 'YYYY-MM-DD' '2009-09-07' 'YY-MM-DD' '09-09-07' 'YYYYMMDD' '20090907' 'YYMMDD' '090907'
また区切り文字は'-'だけではなく次のような文字を使うこともできます。
フォーマット 入力例 ----------------------- ------------------------- 'YYYY-MM-DD' '2009-09-07' 'YYYY.MM.DD' '2009.09.07' 'YYYY/MM/DD' '2009/09/07' 'YYYY@MM@DD' '2009@09@07'
日付に区切り文字が使われている場合、1月から9月、そして1日から9日については2桁で表す必要はありません。
フォーマット 入力例 ----------------------- ------------------------- 'YYYY-M-D' '2009-9-7'
日付は数値として指定することもできます。
フォーマット 入力例 ----------------------- ------------------------- YYYYMMDD 20090907 YYMMDD 090907
なお年が2桁で指定された場合は次のルールによって4桁の年に変換します。
70-99 の範囲の年の値は 1970-1999 00-69 の範囲の年の値は 2000-2069
ではDATE型のカラムを持つテーブルを作成します。
様々なフォーマットでデータを追加してみます。
追加したデータを取得すると次のように表示されます。
TIME型
時刻を文字列として指定する場合、'HH:MM:SS'が基本となるフォーマットですが、次のような指定方法も許可されています。
フォーマット 入力例 ----------------------- ------------------------- 'HH:MM:SS' '15:25:07' 'HH:MM' '15:25' 'HHMMSS' '152507' 'MMSS' '2507' 'SS' '07' 'D HH:MM:SS' '2 15:25:07' 'D HH:MM' '2 15:25' 'D HH'' '2 15'
'MMSS'で指定した場合は分と秒になり'SS'で指定した場合は秒となりますが、'HH:MM'のように区切り文字がある場合は時と分になりますので注意して下さい。
'D'は日にちを表します。'D'付きの場合はD×24が時に加算されて表示されます。
時間に区切り文字が使われている場合、0秒から9秒、0分から9分、0時から9時については2桁で表す必要はありません。
フォーマット 入力例 ----------------------- ------------------------- 'HH:M:S' '15:3:7'
時間は数値として指定することもできます。
フォーマット 入力例 ----------------------- ------------------------- HHMMSS 152507 MMSS 2507 SS 07
ではTIME型のカラムを持つテーブルを作成します。
では様々なフォーマットでデータを追加してみます。
追加したデータを取得すると次のように表示されます。
DATETIME型 / TIMESTAMP型
日付と時刻を文字列として指定する場合、'YYYY-MM-DD HH:MM:SS'が基本となるフォーマットですが、次のような指定方法も許可されています。
フォーマット 入力例 ----------------------- ------------------------- 'YYYY-MM-DD HH:MM:SS' '2009-10-04 15:25:07' 'YY-MM-DD HH:MM:SS' '09-10-04 15:25:07' 'YYYYMMDDHHMMSS' '20091004152507' 'YYMMDDHHMMSS' '091004152507'
また区切り文字は'-'だけではなく次のような文字を使うこともできます。
フォーマット 入力例 ----------------------- ------------------------- 'YYYY-MM-DD HH:MM:SS' '2009-10-04 15:25:07' 'YYYY.MM.DD HH+MM+SS' '2009.10.04 15+25+07' 'YYYY/MM/DD HH*MM*SS' '2009/10/04 15*25*07' 'YYYY@MM@DD HH^MM^SS' '2009@10@04 15^25^07'
日付や時刻に区切り文字が使われている場合、1桁の数値を2桁で表す必要はありません。
フォーマット 入力例 ----------------------- ------------------------- 'YYYY-M-D H:M:S' '2009-3-7 8:2:9'
数値として指定することもできます。
フォーマット 入力例 ----------------------- ------------------------- YYYYMMDDHHMMSS 20091004152507 YYMMDDHHMMSS 091004152507
ではDATETIME型のカラムを持つテーブルを作成します。
様々なフォーマットでデータを追加してみます。
追加したデータを取得すると次のように表示されます。
YEAR型
年を数値として指定する場合、YYYY が基本となるフォーマットですが、次のような指定方法も許可されています。
フォーマット 入力例 ----------------------- ------------------------- YYYY 2009 YY 09
文字列として指定することもできます。
フォーマット 入力例 ----------------------- ------------------------- 'YYYY' '2001' 'YY' '98'
なお年が2桁で指定された場合は次のルールによって4桁の年に変換します。
70-99 の範囲の年の値は 1970-1999 1-69 の範囲の年の値は 2001-2069
DATE型などと異なり0を指定すると2000にはなりませんので注意が必要です。数字の0や文字列の'0'を指定すると0000に変換されます。
ではYEAR型のカラムを持つテーブルを作成します。
様々なフォーマットでデータを追加してみます。
追加したデータを取得すると次のように表示されます。
( Written by Tatsuo Ikura )