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


9.1.3日付リテラルと時間リテラル

日付値と時間値は,値の正確型とほかの要因に応じて,引用符付きの文字列や数値など,複数の形式で表現できます。たとえば,MySQLが日付を予想するコンテキストでは,“2015-07-21”“20150721”20150721のいずれも日付と解釈します。

このセクションでは日付リテラルと時間リテラルの許容される形式にいて説明します。許可されている値の範囲など,時間デ,タ型の詳細は,次のセクションを参照してください。

標準SQLとodbcの日付および時間リテラル標準SQLでは,型キ,時間リテラルを指定できます。キワドと文字列の間の空白はオプションです。

日期的str“时间”str“时间戳”str

MySQLは,これらの構造と,対応するODBC構文も認識します。

{d 'str'} {t 'str'} {ts 'str'}

MySQL 5.6.4より前では,MySQLは型キワドを無視し,前述の各構造は,型がVARCHARの文字列値strを生成します。

5.6.4以降,MySQLは型キーワードを使用し,これらの構造はそれぞれ,後続の小数秒部分が指定されている場合はこの部分を含む日期时间,およびDATETIMEの値を生成します。DATETIMEには,標準SQLの时间戳型により密接に対応する範囲があり,ここには0001から9999の年範囲が含まれるので,时间戳構文は,MySQLでDATETIME値を生成します。(MySQLの时间戳年範囲は1970から2038です。)

日時コンテキストでの文字列リテラルと数値リテラルMySQLは次の形式で日期値を認識します。

  • “YYYY-MM-DD”または“YY-MM-DD”形式の文字列として。緩やかな構文が許可されます。どの句読点文字でも,日付部分間の区切り文字として使用できます。たとえば,“2012-12-31”“2012/12/31”2012 ^ ^ 12 31,および2012 @12@31は同等です。

  • “名称”または“YYMMDD”形式の,区切り文字がない文字列(日付として適切なもの)として。たとえば,“20070523”“070523”“2007-05-23”として解釈されますが,“071332”は正しくないため(月と日の部分が不適切),“0000-00-00”になります。

  • 名称またはYYMMDD形式の数値(日付として適切なもの)として。たとえば,19830905830905“1983-09-05”として解釈されます。

MySQLは次の形式でDATETIMEおよび时间戳値を認識します。

  • “YYYY-MM-DD HH: MM: SS”または“YY-MM-DD HH: MM: SS”形式の文字列として。緩やかな構文はここでも許可されます。どの句読点文字でも,日付部分または時間部分の間の区切り文字として使用できます。たとえば,“2012-12-31 11:30:45”2012年^ ^ 12日31日11 + 30 + 45 '2012/12/31 11 * 30 * 45的,および“45 30 2012 @12@31 11 ^ ^”は同等です。

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

    日付部分と時間部分は,空白ではなくTで区切ることもできます。たとえば,“2012-12-31 11:30:45”2012 - 12 - 31 t11:30:45は同等です。

  • “YYYYMMDDHHMMSS”または“YYMMDDHHMMSS”形式の,区切り文字がない文字列(日付として適切なもの)として。たとえば,“20070523091528”“070523091528”“2007-05-23 09:15:28”として解釈されますが,“071122129015”は正しくないため(分の部分が不適切),“0000-00-00”就是になります。

  • YYYYMMDDHHMMSSまたはYYMMDDHHMMSS形式の数値(日付として適切なもの)として。たとえば,19830905132800830905132800“1983-09-05 13:28:00”として解釈されます。

DATETIMEまたは时间戳値には,マe .クロ秒(6桁)までの精度の後続の小数秒部分を含めることができます。小数部は,常に時間の残りの部分から小数点で区分する必要があります。これ以外の小数秒区切り文字は認識されません。MySQLの小数秒のサポトの詳細はセクション11.3.6 "時間値での小数秒"を参照してください。

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

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

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

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

日付部分の区切り文字を含む文字列として指定される値の場合,10未満の月または日の値に2桁を指定する必要はありません。“2015-6-9”“2015-06-09”と同じです。同様に,時間部分の区切り文字を含む文字列として指定される値の場合,10未満の時,分,または秒の値に2桁を指定する必要はありません。“2015-10-30 1:2:3”“2015-10-30 01:02:03”と同じです。

数値として指定する値は,6,8,12,14のいずれかの桁数にするようにしてください。数値を8桁または14桁の長さにすると,名称またはYYYYMMDDHHMMSS形式であり,最初の4桁が年であると想定されます。数値を6桁または12桁の長さにすると,YYMMDDまたはYYMMDDHHMMSS形式であり,最初の2桁が年であると想定されます。これらの長さではない数字は,いばん近い長さまで先行ゼロで埋められているかのように解釈されます。

区切り文字がない文字列として指定された値は,その長さに従って解釈されます。8または14文字の長さの文字列の場合,年は最初の4文字で表されていると見なされます。そうでなければ,年は最初の2文字で表されていると見なされます。文字列は,その文字列に存在するだけの部分について,左から右に順番に,年,月,日,時,分,秒として解釈されます。これは,6文字より少ない文字列は利用してはいけないということを意味します。たとえば,1999年3月を表すと考えて“9903”を指定しても,MySQLはゼロ日付値に変換します。これは,年および月の値は9903であるけれども,日の部分が完全に欠落しているために起こります。ただし,明示的に値ゼロを指定することによって,欠落している月や日の部分を表すことができます。たとえば,“1999-03-00”の値を挿入するには,“990300”を使用します。

MySQLは次の形式で时间値を認識します。

  • “D HH: MM: SS”形式の文字列として。“HH: MM: SS”“HH: MM”“D HH: MM”“D HH”“党卫军”のいずれかの緩やかな構文も使用できます。この場合,Dは日を表し,0から34の値を指定できます。

  • “HHMMSS”形式の区切り文字がない文字列(時間として適切なもの)として。たとえば,“101112”“10:11:12”として認識されますが,“109712”は正しくないため(分の部分が不適切),“就是”になります。

  • HHMMSS形式の数値(時間として適切なもの)として。たとえば,101112“10:11:12”として認識されます。党卫军mmsHHMMSSの代替形式も認識されます。

後続の小数秒部分は,“D HH: MM: SS.fraction”“HH: MM: SS.fraction”“HHMMSS.fraction”,およびHHMMSS.fractionの時間形式で認識されます。ここで,分数はマクロ秒(6桁)までの精度で表される小数部分です。小数部は,常に時間の残りの部分から小数点で区分する必要があります。これ以外の小数秒区切り文字は認識されません。MySQLの小数秒のサポトの詳細はセクション11.3.6 "時間値での小数秒"を参照してください。

時間部分の区切り文字を含む文字列として指定される时间値の場合,10未満の時,分,秒の値に2桁を指定する必要はありません。“8:3:2”“08:03:02”と同じです。


本手册下载
PDF (Ltr)- 26.8 mb
PDF (A4)- 26.8 mb