gpt4 book ai didi

php - 将存储为 TEXT 的时间转换为 MySql 中的 TIME

转载 作者:行者123 更新时间:2023-11-29 23:30:58 24 4
gpt4 key购买 nike

我有一个包含视频持续时间的 MySQL 表。

我有来自许多不同来源的视频,并且持续时间未经标准化就导入到数据库中。我希望在这里标准化持续时间。

考虑以下表结构:

+-----------+
| Duration |
+-----------+
| 5h58m38s |
| 22m59s |
| 05m29s |
| 06m09s |
| 00m06s |
| 00m00s |
+-----------+

我想将这种格式:00m00s 转换为 hh:mm:ss。

例如:

22m59s should be 00:22:59
5h58m38s should be 05:58:38

如何在 MySQL 中执行此操作?

我尝试使用查询:

UPDATE table SET duration = sec_to_time(duration);

这不起作用,我迷路了。非常感谢所有评论和回答,非常感谢!

最佳答案

使用STR_TO_DATE代替SEC_TO_TIME 。由于你有三种格式,所以你需要调用它三次。由于它在失败时返回 NULL(并且最多失败两次,因为三种格式中只有一种匹配),因此使用 COALESCE获取第一个非 NULL 值,即您要查找的时间。

UPDATE table 
SET duration = COALESCE(
STR_TO_DATE(duration, '...'),
STR_TO_DATE(duration, '...'),
STR_TO_DATE(duration, '...')
)
;

在手册的帮助下,您应该能够找出我用'...'打开的格式字符串。

关于php - 将存储为 TEXT 的时间转换为 MySql 中的 TIME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26578342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com