【问题标题】:Cast a varchar to minutes, seconds and milliseconds time format?将 varchar 转换为分钟、秒和毫秒时间格式?
【发布时间】:2020-09-04 21:06:06
【问题描述】:

我有一个表格,其中一些字段包含时间信息,格式为分钟:秒:毫秒。例如:1:38:096

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

我已经尝试过time_format() 函数,但根据文档它不支持毫秒,并且在我的情况下它不能正常工作。

我该如何处理?

【问题讨论】:

  • 为什么?如果是日期或时间,则应以日期或时间格式在数据库中。
  • @user207421 一定是各种 SQL 标签中问最多的问题...
  • 我根据你的描述写了bug 99621。如果您发现某些内容与 Oracle 文档不相符,请从任何人那里获取错误报告。

标签: mysql time-format


【解决方案1】:

你必须使用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,但您可以提取分钟并使用链接中提供的所有其他时间函数

【讨论】:

    猜你喜欢
    • 2012-09-27
    • 2018-11-16
    • 2013-01-12
    • 2014-02-13
    • 2016-06-29
    • 1970-01-01
    • 1970-01-01
    • 2013-07-11
    相关资源
    最近更新 更多