我经常使用TIME
字段来存储第二个准确的持续时间。但是,我如何存储类似的东西:
4小时3分钟,1.1828999秒
我不希望将它存储为浮点数或小数,但是以一种明确的方式将其存储为持续时间。我该怎么做?
答案 0 :(得分:2)
将其存储为TIME(6)
,以获得高达六位精度的小数秒。 Time precision是MySQL 5.6中引入的一项功能。
小数秒的存储每列额外花费3个字节。有关详细信息,请参阅https://dev.mysql.com/doc/refman/5.6/en/storage-requirements.html#data-types-storage-reqs-date-time。
然后您可以在选择值时格式化它:
mysql> select current_time(6),
date_format(current_time(6), '%H hours, %i minutes, %s.%f seconds') as `formatted time`;
+-----------------+-----------------------------------------+
| current_time(6) | formatted time |
+-----------------+-----------------------------------------+
| 00:24:53.843700 | 00 hours, 24 minutes, 53.843700 seconds |
+-----------------+-----------------------------------------+
有关其他格式选项,请参阅DATE_FORMAT()。