我正在尝试从24:00
中减去列varchar
我正在尝试使用此查询:
datediff(Hour, "20:00", hour1)
例如,如果hour1 = 12:30
,则预期输出为8:30
答案 0 :(得分:1)
使用它从日期中减去“ 12:30”
DATE_SUB(`date`,INTERVAL '12:30' HOUR_MINUTE)
DATE_SUB('2019-02-01 20:00:00',INTERVAL '12:30' HOUR_MINUTE)
答案 1 :(得分:0)
您可以使用TIME_TO_SEC
将时间转换成秒数,从24:00
中减去它,然后使用SEC_TO_TIME
转换回时间,然后TIME_FORMAT
将其格式化为小时:分钟
例如
SET @hour1 = '12:30'
SELECT TIME_FORMAT(SEC_TO_TIME(TIME_TO_SEC('24:00')-TIME_TO_SEC(@hour1)), '%H:%i')
输出:
11:30
答案 2 :(得分:0)
尝试一下
select TIMEDIFF('20:00',str_to_date(hour1,'%H:%i')) from tablename;