MySQL
        では、TIME
        値の取り出しと表示は
        'HH:MM:SS' 形式
        (時間の部分の値が大きい場合は
        'HHH:MM:SS' 形式)
        で行われます。TIME
        値の範囲は、'-838:59:59'
        から '838:59:59'
        です。TIME
        型は、一日のうちの時刻を表すことができるだけでなく
        (24 時間以下)、経過時間や、2
        つの出来事の間の時間を表すこともできるので
        (24
        時間よりも長い、またはマイナスのこともある)、時間を表す部分がとても長くなることがあります。
      
        TIME
        値は様々なフォーマットで指定することができます。
      
            'D HH:MM:SS.fraction'
            形式の文字列として。「柔軟」な構文として、'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.fraction
            も認識されます。MySQL
            では小数部が格納されないことに注意してください。
          
            CURRENT_TIME
            のように
            TIME
            コンテキストの中で許容される値を返す関数の結果として
          
        TIME
        値の末尾のマイクロ秒の部分
        .uuuuuu
        は、項6.3.1. 「DATETIME、DATE、そして
        TIMESTAMP 型」
        に説明されているように、時間を表すほかの値の場合と同じ条件の下で使用できます。この中には、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'
        は '00:11:12'
        ではなく、'11:12:00'
        を意味します。
      
        デフォルトでは、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
        モードを有効にしてください。Server SQL Modes
        を参照してください。
      

