TIME 类型
MySQL检索并TIME以'hh:mm:ss'格式(或'hhh:mm:ss'大小时数格式)显示值。TIME值的范围可以从'-838:59:59'到'838:59:59'。小时部分可能会很大,因为该TIME类型不仅可以用来表示一天中的某个时间(必须少于24小时),而且还可以用来表示经过的时间或两个事件之间的时间间隔(可能远大于24小时,甚至是负面的)。
MySQL可识别TIME多种格式的值,其中某些格式可包含尾随小数秒的部分,精度最高可达微秒(6位)。请参见“日期和时间文字”。有关MySQL 中小数秒支持的信息,请参见“时间值的分数秒”。特别是,TIME存储在列中的值中的任何小数部分都将存储而不是丢弃。包括小数部分,TIME值的范围是'-838:59:59.000000'至'838:59:59.000000'。
在为TIME列分配缩写值时要小心。MySQL将TIME冒号的缩写值解释为一天中的时间。也就是说,'11:12'手段'11:12:00',不是'00:11:12'。MySQL使用最右边的两个数字表示秒(即经过时间而不是一天中的时间)的假设来解释不带冒号的缩写值。例如,您可能会认为'1112'和1112含义'11:12:00'(11点后12分钟),但是MySQL将它们解释为'00:11:12'(11分钟12秒)。同样,'12'和12解释为'00:00: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模式以导致发生错误。
