MySQL 5.1 リファレンスマニュアル :: 10 データタイプ :: 10.3 日付と時刻タイプ :: 10.3.2 TIME タイプ
« 10.3.1.1 TIMESTAMP MySQL 4.1での性質

10.3.3 YEAR タイプ »
Section Navigation      [Toggle]
  • 10.3 日付と時刻タイプ
  • 10.3.1 DATETIME、DATE、そして TIMESTAMP タイプ
  • 10.3.2 TIME タイプ
  • 10.3.3 YEAR タイプ
  • 10.3.4 2000年問題とデータタイプ

10.3.2. TIME タイプ

MySQLは TIME 値を 'HH:MM:SS' フォーマットで検索、表示します。(または長時間値を表すには 'HHH:MM:SS' フォーマット)TIME 値の範囲は '-838:59:59' から '838:59:59' です。TIME タイプは、一日のうちの時刻を表す事ができるだけでなく(24時間以下)、経過時間や、二つの出来事の間の時間を表す事もできるので(24時間よりも長い、またはマイナスの事も有る)、時間を表す部分がとても長くなる事があります。

TIME 値は様々なフォーマットで指定する事ができます。

  • 'D HH:MM:SS.fraction' フォーマットの文字列として次のうちの 「柔軟な」 構文の1つを利用する事もできます。'HH:MM:SS.fraction'、'HH:MM:SS'、 'HH:MM'、'D HH:MM:SS'、'D HH:MM'、'D HH'、または 'SS'。ここでは、D は日を表し、0から34の値を持つ事ができます。MySQLは端数部分を格納しない事を覚えておいて下さい。

  • 時刻を表す、'HHMMSS' フォーマットで区切り文字を利用しない文字列として例えば、'101112' は '10:11:12' として理解されますが、'109712' は不正データとなり(意味を成さない分の部分を持つ為)、'00:00:00' となります。

  • 時刻を表す、'HHMMSS' フォーマットの数字として例えば、101112 は '10:11:12' として理解されます。以下のフォーマットもまた理解されます。SS、MMSS、HHMMSS、HHMMSS.fractionMySQLは端数部分を格納しない事を覚えておいて下さい。

  • CURRENT_TIME のように TIME コンテキストの中で許容される値を返す関数の結果として

時刻部分の区切り文字を含む文字列として指定された TIME 値には、時、分、または秒の値に 10 以下の2桁の値を指定する必要はありません。'8:3:2' は '08:03:02' と同じです。

TIME カラムに省略された値を指定する際には注意してください。MySQLは、コロンが付いていない値は、その値の一番右の二桁が秒を表していると解釈します。(MySQLは TIME 値を、一日の内の時刻ではなく、経過時間として解釈します。)例えば、'1112' と 1112 は、'11:12:00' (11時12分過ぎ)を意味するように感じますが、MySQLはそれを '00:11:12' (11分12秒)と解釈します。同じように、'12' と 12 は'00:00:12' という意味になります。コロンが付いた TIME 値は反対に、必ず一日の内の時刻として扱われます。それは、'11:12' が '11:12:00' を表し、'00:11:12' では無いという事になります。

デフォルトでは、TIME 範囲外であるが正当である値は、その値の終点にクリップされます。例えば、'-850:00:00' と '850:00:00' は '-838:59:59' と '838:59:59' に変換されます。不正な TIME 値は '00:00:00' に変換されます。'00:00:00' 自体は正当な TIME 値なので、テーブルに格納された '00:00:00' の値から、元の値が '00:00:00' 値で指定されたのか、不当な値だったのかを知る方法は無いという事を覚えておいて下さい。

不正な TIME 値をもう少し厳しく扱うためには、エラーが発生するようにストリクトSQLモードを有効にしてください。項4.2.6. 「SQL モード」を参照してください。

Copyright © 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates