如何强制MySQL显示从TIME
到3.07:10:10
的{{1}}列数据?
因此,查询79:10:10
应该以{{1}}格式返回SELECT item FROM table_
。
修改:TIME
存储小时数,来自' -838:59:59'到' 838:59:59'。
我尝试79:10:10
,意外地返回TIME
答案 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
。