3

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

4

1 回答 1

6

首先,看看这里: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');
于 2012-04-09T01:31:09.283 回答