MySql,在 60 秒以下时显示正确的视频持续时间时出现问题

标签 mysql

视频时长格式应为 0:00/00:00/000:00 这些工作正常,除非视频少于 60 秒,它显示为 :00

如果视频长 12 秒,我希望它显示 0:12,但它显示的是 :12。

我想要的示例:0:55、1:55、11:55、111:55。

我不想要的示例::55、01:55、011:55

这是我查询持续时间的行:

trim(leading 0 from concat( lpad(floor(v.duration/60), 3, 0), ":", lpad((v.duration%60), 2, 0))) as duration

最佳答案

您也可以使用内置的格式化函数来做到这一点:

select date_format(timestampadd(second, 12, '0000-01-01'), '%H:%i:%s')

挑战(对于 MySQL 来说总是如此)是在不同的时间/日期数据类型之间进行转换。此格式将持续时间(似乎以秒为单位)添加到较早的早期日期。然后它打印出格式为 hh:mm:ss。如果愿意,您可以将格式调整为仅显示分钟。

关于MySql,在 60 秒以下时显示正确的视频持续时间时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18066395/

相关文章:

php - 将变量传递给 sql WHERE IN 子句

c# - GZip header 中的魔数(Magic Number)不正确。确保您传递的是 GZip 流

php - [mysql][php] 两个表的有问题的连接结果并在 php 中进行过滤

mysql - 在 MySQL 中计算 COUNT(*) 结果

mysql - 更新具有不同条件的多行

mysql - 在结果中将逗号分隔值从一列拆分为两行。 MySQL

python - 使用 Python mysql 连接器将 Mysql 列名称存储在数组中

mysql - 如何使用具有默认值的分组依据?

c# - 依赖 Group_Concat 的结果

php - 如何在 Windows 上设置 Nginx 和 Mysql 5.7.16?