[英]How do you convert a varchar in the format of HH:MM:SS to a int value in minutes. Using mysql
我正在尝试将格式为 HH:MM:SS 的 varchar 转换为表示总分钟数的 int 值。 该表有一个名为:'duration' 的 varchar 和一个名为:'amount_of_students'的学生总数。
我想用学生人数除以 class 的持续时间(以分钟为单位)。
我已经找到了以下代码,但这在 MySQL 中不起作用,并且似乎只在 MS SQL 中起作用:
select duration,
(convert(int, left(duration, locate(':', duration) - 1)) * 60 +
convert(int, left(right(duration, 5), 2))
)
from Class
我目前收到以下错误:
错误代码:1064。您的 SQL 语法有错误; 检查与您的 MySQL 服务器版本相对应的手册,以了解在 'int, left(duration, locate(':', duration) - 1)) * 60 + convert(int, le' 附近使用的正确语法
任何帮助,将不胜感激。
在 MySQL 中,您可以对此类 HH:MM:SS 格式的字符串使用hour
和minute
函数:它们将被解释为时间值:
select hour(duration) * 60 + minute(duration)
from Class
您可以使用time_to_sec()
并乘以 60。对于十进制值:
select time_to_sec(duration) / 60
对于 integer:
select floor(time_to_sec(duration) / 60)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.