所以我试图在开始时间和结束时间之间获得分钟差异,存储为1130
或1415
显然很简单:
SELECT finish_time - start_time FROM table
不够,我需要做些什么来正确计算差异,考虑到这是一个4位整数用于表示24小时的事实。(无可否认地存储时间的方式很糟糕)
答案 0 :(得分:1)
真的很奇怪,这种存储时间的方式,是的:)尝试这个:
select ((floor(finish_time/100)*60)+mod(finish_time,floor(finish_time/100)*100))-((floor(start_time/100)*60)+mod(start_time,floor(start_time/100)*100)) from table;
这会将最后两位数字转换为分钟,将第一位数字(或第一位数字)转换为小时* 60(也称为分钟数),以便进行减法。
仅在(finish_time> start_time)时有效。我的意思是,如果有人从今天18:00(记录1800)到明天13:00(记录1300)预订了房间,那么finish_time小于start_time。小心这一点,我没有足够的信息,只有几天。