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

时间:2018-10-10 14:10:06

标签: mysql time milliseconds seconds datetime-conversion

我想将列中的所有值从“ hh:mm:ss.mmm”转换为“ ss.mmm”。 我已经尝试过TIME_FORMAT(持续时间, 's%.f%),但这会显示秒和毫秒,并且当值超过1分钟时并不会一直计算正确的秒。

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

谢谢:)

1 个答案:

答案 0 :(得分:1)

这应该按照您的要求执行,如果我正确理解您已经包含毫秒的数据。

我不认为MySQL具有固有的毫秒功能,但是我们可以改用微秒。

SELECT CONCAT(TIME_TO_SEC('15:30:15.293'), '.', TIME_FORMAT('15:30:15.293', '%f'));

这将输出如下;

55815.293000