Mysql 如何将时间从hh:mm:ss.mmm转换为秒和毫秒

Mysql 如何将时间从hh:mm:ss.mmm转换为秒和毫秒,mysql,time,milliseconds,seconds,datetime-conversion,Mysql,Time,Milliseconds,Seconds,Datetime Conversion,我想将列中的所有值从“hh:mm:ss.mmm”转换为“ss.mmm”。 我尝试了TIME\u格式(Duration,'s%.f%)但它显示秒数和毫秒数,当值超过1分钟时,不会保持计算正确秒数的状态 或者,我可以使用开始列和结束列之间的差异,只要它以“ss.mmm”返回时间。我已经尝试过将TIMESTAMPDIFF(微秒,开始,结束)用作diff,但它是毫秒,我不知道如何将它转换为“ss.mmm”。当指定秒而不是微秒时,它会丢失毫秒数 谢谢:)这应该满足您的要求,如果我理解正确,您已经有了包含毫

我想将列中的所有值从“hh:mm:ss.mmm”转换为“ss.mmm”。 我尝试了
TIME\u格式(
Duration
,'s%.f%)
但它显示秒数和毫秒数,当值超过1分钟时,不会保持计算正确秒数的状态

或者,我可以使用开始列和结束列之间的差异,只要它以“ss.mmm”返回时间。我已经尝试过将
TIMESTAMPDIFF(微秒,
开始
结束
)用作diff
,但它是毫秒,我不知道如何将它转换为“ss.mmm”。当指定秒而不是微秒时,它会丢失毫秒数


谢谢:)

这应该满足您的要求,如果我理解正确,您已经有了包含毫秒的数据

我认为MySQL没有固有的毫秒函数,但我们可以使用微秒来代替

SELECT CONCAT(TIME_TO_SEC('15:30:15.293'), '.', TIME_FORMAT('15:30:15.293', '%f'));
这将输出如下

55815.293000

你是说
12:35:15.293
变成了
15.293
?你为什么要这么做?或者,您想只报告秒数和毫秒数吗?@TimBiegeleisen我想OP也想将小时和分钟转换为秒,并将所有内容显示为秒。微秒使用
TIME\u to_SEC()
函数。太好了,非常感谢您,这正是我需要的!