[英]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.