将此时间格式转换为秒:
SELECT ROUND(TIME_TO_SEC('8: 2:9')/60);
我希望 MySQL 中的输出为 482
分钟。 在数据库中,有时使用空间存储的时间(例如"08:02:23"(被保存为"08:2:23",因此希望将该时间检索为几分钟
使用它的正确方法如下:
SELECT ROUND(TIME_TO_SEC('08:02:09')/60);
输出:482分钟
TIME_TO_SEC('08:02:09')
将被28929 sec
,如果除以60,那么结果将以分钟为单位。正如你所说,这将是482 minutes
.
以下查询中的问题是分钟前的空间。
SELECT ROUND(TIME_TO_SEC('8: 2:9')/60);
您可以将其用作(没有空格(:
SELECT ROUND(TIME_TO_SEC('8:2:9')/60);
试试这个,有时可能会有所帮助:
SELECT ROUND(TIME_TO_SEC(REPLACE('8: 2:9',' ',''))/60);
DELIMITER $$
DROP FUNCTION IF EXISTS `tim_to_min`$$
CREATE FUNCTION tim_to_min(f_time VARCHAR(30))
RETURNS VARCHAR(255)
DETERMINISTIC
BEGIN
DECLARE h VARCHAR(30);
DECLARE m VARCHAR(30);
DECLARE s VARCHAR(30);
SET h=SUBSTRING_INDEX(f_time,':',1);
SET m = REPLACE(SUBSTRING(SUBSTRING_INDEX(f_time,':',2),
LENGTH(SUBSTRING_INDEX(f_time,':',1))+1),':','');
SET s = REPLACE(SUBSTRING(SUBSTRING_INDEX(f_time,':',3),
LENGTH(SUBSTRING_INDEX(f_time,':',2))+1),':','');
RETURN ROUND((h*60)+m+(s/60),0);
END$$
DELIMITER ;
-->在 mysql 中使用此存储函数
然后调用该函数。
SELECT tim_To_min('8: 2:9'); /*call function tim_to_min */