将 varchar 转换为分钟、秒和毫秒时间格式?

Cast a varchar to minutes, seconds and milliseconds time format?

我有一个 table,其中一些字段包含时间信息,格式为 minutes:seconds:milliseconds。例如:1:38:096.

稍后,我需要在其中一些时间之间进行比较,如果我将它们处理为varchar,我将无法做到这一点。如何将此字符串转换为易于管理的时间格式?

我试过 time_format() 函数,但根据文档,它不支持毫秒,而且在我的情况下效果不佳。

我该如何处理?

你必须使用STR_TO_DATE

SELECT STR_TO_DATE("1:38:096", "%i:%s:%f");

结果

STR_TO_DATE("1:38:096", "%i:%s:%f")
00:01:38.096000

这是一个 DATETIME,但您可以提取分钟数并使用 link

中提供的所有其他时间函数