MySQL TIME类型的小时数> 23

时间:2016-04-26 19:56:47

标签: mysql

如何强制MySQL显示从TIME3.07:10:10的{​​{1}}列数据?

因此,查询79:10:10应该以{{1​​}}格式返回SELECT item FROM table_

修改TIME存储小时数,来自' -838:59:59'到' 838:59:59'。

我尝试79:10:10,意外地返回TIME

1 个答案:

答案 0 :(得分:2)

(我责怪OP,因为我认为TIME列只能存储最多24小时。That's not true:它们最多可存储838小时。抱歉,并感谢您。)

要在TIME列中插入/使用,请使用以下语法:

mysql> SELECT TIME('3 07:10:10');
+--------------------+
| TIME('3 07:10:10') |
+--------------------+
| 79:10:10           |
+--------------------+
1 row in set (0.00 sec)

即:用空格替换3.07:10:10中的点。

来自docs

  

MySQL以这些格式识别TIME值:

     
      
  • 作为'D HH:MM:SS'格式的字符串。您还可以使用以下“宽松”语法之一:'HH:MM:SS','HH:MM','D HH:MM','D HH',   或'SS'。这里D代表天数,可以有0到34之间的值。
  •   
  • ...
  •   

如果您将'3 07:10:10'插入TIME列,则会自动选择79:10:10