如何在几分钟内将HH:MM:SS格式的varchar转换为int值.使用mysql



我正在尝试将HH:MM:SS格式的varchar转换为表示总分钟数的int值。该表有一个名为:"duration"的varchar和一个称为:"amount_of_students"的学生总数。

我想把以分钟为单位的上课时间除以学生人数。

我已经找到了以下代码,但这在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+转换(int,le'

如有任何帮助,我们将不胜感激。

在MySQL中,您可以在HH:MM:SS格式的字符串上使用函数hourminute:它们将被解释为时间值:

select hour(duration) * 60 + minute(duration)
from Class

您可以使用time_to_sec()并乘以60。对于十进制值:

select time_to_sec(duration) / 60

对于整数:

select floor(time_to_sec(duration) / 60)

相关内容

  • 没有找到相关文章

最新更新