【问题标题】:MySQL How to Insert Minute Values Like '00:65:00' (Larger than 59 minutes and 59 seconds?MySQL 如何插入分钟值,如“00:65:00”(大于 59 分 59 秒?
【发布时间】:2012-04-08 20:45:41
【问题描述】:

MySQL - 我正在尝试将分钟值导入到时间列中,该列存储为“00:55:00”、“00:20:00”、“00:65:00”、“00:200:00” '。它适用于所有

如果您尝试执行“选择时间('00:59:59')”和“选择时间('00:60:00')”,您会明白我的意思。第一个有效,但第二个返回 NULL。如何在 MySQL 中导入大于“00:59:59”的时间值。

【问题讨论】:

  • 为什么不能用“01:00:00”代替“00:60:00”?
  • 我有数千个来自 CSV 文件并以分钟格式存储的值。
  • 因此您可以在时间列中使用minutes div 60 作为小时,使用minutes mod 60 作为分钟。
  • 为什么不先转换再插入?
  • 如何在 MySQL 中转换它们?

标签: mysql datetime time datetime-format


【解决方案1】:

我刚刚想出了一种将分钟和秒转换为正确格式的方法:

将分钟转换为 int,乘以 60,然后将其添加到秒(也转换为 int)

SEC_TO_TIME(CAST(SUBSTR(MIN,1,2) AS SIGNED)*60 + CAST(SUBSTR(MIN,4,2) AS SIGNED));

60:25 转换为01:00:25

【讨论】:

    猜你喜欢
    • 2014-08-09
    • 2021-07-05
    • 2021-09-04
    • 2013-12-06
    • 2015-03-21
    • 2021-06-11
    • 1970-01-01
    • 2019-09-26
    • 1970-01-01
    相关资源
    最近更新 更多