视频时长格式应为 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/