10bet网址
MySQL 5.6リファレンスマニュアル
下载本手册
PDF(美国Ltr)- 26.8 mb
PDF (A4)- 26.8 mb
HTML下载(TGZ)- 7.2 mb
HTML下载(Zip)- 7.2 mb


11.3.1 date, datetime,およびtimestamp型

日期DATETIME,および时间戳型は関連しています。このセクションでは,これらの特徴,似ている点,および異なる点に。MySQLは,セクション9.1.3 "日付リテラルと時間リテラル"で説明している複数の形式で,日期DATETIME,および时间戳値を認識します。日期およびDATETIME範囲の説明では,サポトされているとは,以前の値は機能するが,保証はないということを意味します。

日期型は,日付部分を含むが時間部分は含まない値に使用されます。MySQLでは,日期値の取得と表示は“YYYY-MM-DD”形式で行われます。サポトしている範囲は“1000-01-01”から“9999-12-31”です。

DATETIME型は,日付と時間の両方の部分を含む値に使用されます。MySQLでは,DATETIME値の取得と表示は“YYYY-MM-DD HH: MM: SS”形式で行われます。サポトしている範囲は“1000-01-01”就是から“9999-12-31 23:59:59”です。

时间戳デタ型は,日付と時間の両方の部分を含む値に使用されます。时间戳には,“1970-01-01 00:00:01”Utcから“2038-01-19 03:14:07”Utcの範囲があります。

DATETIMEまたは时间戳値には,マe .クロ秒(6桁)までの精度で後続の小数秒部分を含めることができます。MySQL 5.6.4以降では;DATETIMEまたは时间戳カラムに挿入された値の小数部はすべて破棄されずに格納されます。小数部が含まれる場合,これらの値の形式は“YYYY-MM-DD HH: MM: SS (.fraction)”であり,DATETIME値の範囲は“1000-01-01 00:00:00.000000”から“9999-12-31 23:59:59.999999”であり,时间戳値の範囲は“1970-01-01 00:00:01.000000”から“2038-01-19 03:14:07.999999”です。小数部は,常に時間の残りの部分から小数点で区分する必要があります。これ以外の小数秒区切り文字は認識されません。MySQLの小数秒のサポトの詳細はセクション11.3.6 "時間値での小数秒"を参照してください。

时间戳および(MySQL 5.6.5以降の)DATETIMEデタ型では,自動初期化と現在の日付および時間への自動更新機能が用意されています。詳細は,セクション11.3.5 " timestampおよびdatetimeの自動初期化および更新機能"を参照してください。

MySQLは,时间戳値を,ストレージでは現在のタイムゾーンをUTCに変換し,取得ではUTCから現在のタイムゾーンに戻します。(DATETIMEなどのほかの型ではこれは行われません)デフォルトでは,接続ごとの現在のタイムゾーンはサーバーの時間です。タ邮箱ムゾ邮箱ンは接続ごとに設定できます。タムゾン設定が一定であるかぎり,格納した値と同じ値に戻すことができます。时间戳値を格納したあとで,タイムゾーンを変更して値を取り出すと,取り出された値は格納した値とは異なります。これは、同じタ。現在のタ邮箱ムゾ邮箱ンは,time_zoneシステム変数の値として使用できます。詳細は,セクション10.6 " MySQL Serverでのタ"を参照してください。

無効な日期DATETIME,または时间戳値は,適切な型のゼロ値 (“0000-00-00”または“0000-00-00”就是に変換されます。

MySQLでは日付値解釈の特定のプロパティに注意してください。

  • MySQLは,文字列として指定された値に,緩やかな形式を使用でき,この形式では,どの句読点文字でも日付部分と時間部分の区切り文字として使用できます。場合によっては,この構文は偽りになることがあります。たとえば,“10:11:12”などの値は,区切り文字のために時間値のように見えることがありますが,日付のコンテキストで使用された場合は,“2010-11-12”の年と解釈されます。値“10:45:15は,“45”が有効な月ではないので,“0000-00-00”に変換されます。

    日付および時間の部分と小数秒部分との間の区切り文字として認識される唯一の文字が小数点です。

  • サーバーは,月と日の値が,それぞれが1から12と1から31の範囲内にあるだけではなく,有効である必要があります。厳密モドが無効になっていると,“2004-04-31”のような無効な日付は“0000-00-00”に変換され,警告メッセジが表示されます。厳密モドが有効なときは,無効な日付によってエラが発生します。このような日付を許可するには,ALLOW_INVALID_DATESを有効にします。詳細は,セクション5.1.7 "サバSQLモド"を参照してください。

  • MySQLは,日または月カラムにゼロを含んだ时间戳値や,無効な日付の値を受け入れません。このルルに対する唯一の例外は,特殊なゼロ値である“0000-00-00”就是です。

  • MySQL 5.6.4より前では,テ,ブルから選択しない場合,把()时间戳値を文字列として扱います。(これは,从双を指定した場合にも当てはまります。)セクション12.10 "キャスト関数と演算子"を参照してください。

  • 2桁の年を含む日付の値は,世紀が不明なためあいまいです。MySQLは次のルルを使用して2桁の年の値を解釈します。

    • 00 - 69の範囲の値は2000 - 2069に変換されます。

    • 70 - 99の範囲の値は1970 - 1999に変換されます。

    セクション11.3.8 "日付での2桁の年"も参照してください。

注記

MySQL ServerはMAXDBSQLモドを有効にして実行できます。この場合,时间戳DATETIMEと同じです。テブル作成時にこのモドが有効になっている場合,时间戳カラムはDATETIMEカラムとして作成されます。この結果,このようなカラムはDATETIME表示形式を使用し,同じ範囲の値を持ち,自動初期化機能や,現在の日付と時間に自動的に更新する機能はありません。セクション5.1.7 "サバSQLモド"を参照してください。