减去两次mysql

时间:2019-02-01 06:26:57

标签: mysql

我正在尝试从24:00中减去列varchar

我正在尝试使用此查询:

datediff(Hour, "20:00", hour1)

例如,如果hour1 = 12:30,则预期输出为8:30

3 个答案:

答案 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

Demo on dbfiddle

答案 2 :(得分:0)

尝试一下

select TIMEDIFF('20:00',str_to_date(hour1,'%H:%i')) from tablename;