【问题标题】:MySQL: Convert time string to millisecondsMySQL:将时间字符串转换为毫秒
【发布时间】:2020-04-29 02:48:07
【问题描述】:

我在 MySQL 数据库中有一个表。在表格中,我记录了在测试序列中执行几个不同步骤所需的时间。每个步骤都将其时间记录到一个单独的 VARCHAR 字段中。

我想对这些数据进行一些分析,以便及时查找每个步骤所需的时间异常。

很遗憾,时间是以这种格式记录的:

00:01:30.4538080

为了进行分析,我认为我需要将这些值改为:

90.4538080

有没有办法安全地更新数据库表以进行转换?

【问题讨论】:

  • 如果01:30 对应于一小时三十分钟,那么前面的00 值对应于什么?是那几天,还是别的什么?
  • 00:01:30.4538080 = 0 小时 1 分钟 30 秒 453 毫秒

标签: mysql time type-conversion


【解决方案1】:

我必须建议下一个解决方案:

SET @time = '00:01:30.4538080';
SELECT 
    TIME_TO_SEC(TIME_FORMAT(@time, '%H:%i:%s.%f')) + SUBSTRING(@time, 9) Sec;

结果:

+===========+
| sec       |
+===========+
| 90.453808 |
+-----------+

Run SQL query here

【讨论】:

    猜你喜欢
    • 2013-02-17
    • 2016-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多