繁体   English   中英

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

[英]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 格式的字符串使用hourminute函数:它们将被解释为时间值:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM