【问题标题】:How to store time duration values in MySQL as the TIME datatype?如何在 MySQL 中将持续时间值存储为 TIME 数据类型?
【发布时间】:2012-04-21 12:21:37
【问题描述】:

我需要以分钟/秒为单位存储歌曲持续时间,我需要使用 TIME,但是在编写 INSERT 语句时如何引用某个持续时间?我在表中的数据类型已经是 TIME,我应该只是 STR_TO_DATE 字符串值“4:29”吗?

【问题讨论】:

  • 如果可能的话,我强烈建议使用带有总秒数的整数。以后您可能会省去一些麻烦。很好奇要求使用TIME 字段的原因。

标签: mysql sql time duration


【解决方案1】:

首先,看看这里:http://dev.mysql.com/doc/refman/5.0/en/time.html

为 TIME 列分配缩写值时要小心。 MySQL 将带有冒号的缩写 TIME 值解释为一天中的时间。 也就是说,“11:12”表示“11:12:00”,而不是“00:11:12”。 MySQL 解释 没有冒号的缩写值使用两个假设 最右边的数字代表秒(也就是说,作为经过的时间而不是 比一天中的时间)。例如,您可能会想到 '1112' 和 1112 表示“11:12:00”(11 点后 12 分钟),但 MySQL 将它们解释为“00:11:12”(11 分 12 秒)。相似地, '12' 和 12 被解释为 '00:00:12'。

所以,如果你想插入一首持续时间 = 05:55 的歌曲,只需这样写:

insert into songs (duration) values('0555');

【讨论】:

    猜你喜欢
    • 2011-05-28
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    • 2016-04-07
    • 2020-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多