Mysql phpMyAdmin-以mm:ss:ms格式存储时间
在phpMyAdmin,我想为一场比赛记录一圈时间。格式需要是mm:ss:ms格式 如何在数据库中存储此值?是否有一种数据类型允许它?我尝试了time、timestamp和datetime,但它们都没有用毫秒来存储值 如果不可能,我是否可以将其存储为int或varchar,然后在select查询中将其转换为mm:ss:ms格式以用于输出显示 示例输出:Mysql phpMyAdmin-以mm:ss:ms格式存储时间,mysql,time,phpmyadmin,Mysql,Time,Phpmyadmin,在phpMyAdmin,我想为一场比赛记录一圈时间。格式需要是mm:ss:ms格式 如何在数据库中存储此值?是否有一种数据类型允许它?我尝试了time、timestamp和datetime,但它们都没有用毫秒来存储值 如果不可能,我是否可以将其存储为int或varchar,然后在select查询中将其转换为mm:ss:ms格式以用于输出显示 示例输出: 1:35.547 这就是: 1 minute, 35 secs, 547 milliseconds 有什么想法吗 MySQL 5.6.4及更
1:35.547
这就是:
1 minute, 35 secs, 547 milliseconds
有什么想法吗
MySQL 5.6.4及更高版本扩展了对时间
、日期时间
和时间戳
值的分数秒支持,精度高达微秒(6位)
在早期版本中,您必须手动实现该功能。我能想到的最简单的选择是将毫秒存储在单独的SMALLINT
列中,然后:
SELECT CONCAT(
TIME_FORMAT(time_col, '%i minutes, %s seconds, '),
milliseconds_col,
' milliseconds'
) FROM ...
或者,您可以将时间存储为
十进制(10,3)
。不幸的是,这两种方法都需要繁琐的手动转换。这还不够,但我认为它尽可能接近,而不必求助于普通的varchar。我知道在SQL中这是可行的,只是我不得不使用phpMyAdmin,这让我很恼火……您可以使用显示转换将分数时间格式显示为更易于阅读的格式。从该表的结构选项卡中,单击时间戳(etc)列的“更改”,然后从“浏览器显示转换”下拉列表中选择“文本/普通:日期格式”。