簡體   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