一尘不染

如何在MySQL中将持续时间值存储为TIME数据类型?

sql

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


阅读 157

收藏
2021-03-08

共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');
2021-03-08