“length”列中的数据类型为 varchar。 我需要计算音频的平均长度。
我需要将数据类型更改为日期时间还是有办法不这样做?
我担心,如果我这样做,我的值(value)观可能会变得不正确。
谢谢!
示例
Length
22:32:00
11:22:12
10:00:00
最佳答案
您应该将数据类型更改为时间
,因为在当前格式下,您无法在不将数据转换为时间的情况下对数据进行任何时间计算。
如mysql手册上的time data type说:
TIME type can be used not only to represent a time of day (which must be less than 24 hours), but also elapsed time or a time interval between two events (which may be much greater than 24 hours, or even negative).
如果您担心由于格式不正确而丢失一些数据,请使用 str_to_date() 测试 varchar 到时间的转换。功能。无论它在使用正确掩码的情况下返回 null,您的数据格式都是错误的。
关于mysql - 有没有办法在计算时间间隔时不改变 varchar 的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52143294/