在查询中获得时差

时间:2012-12-03 11:36:41

标签: mysql

我有这个查询,我需要找到两种时间格式之间的区别。 所以我需要添加一个子句,它将是:

WHERE end-date - start-date should be between 01:00:00 and 05:00:00

你能帮助我把它变成一个mysql语句吗? 感谢

 $data = mysql_query( "select r.`time`, r.`epos_id`,r.`basket_value`, r.`date`,re.`location`,i.`user_id`,i.`mobile_number`,
       i.`time`, i.`rbpos_id`, i.`date`
from retailer r
join rbpos_epos re on r.epos_id = re.epos_id
join imovo i on i.rbpos_id = re.rbpos_id
             WHERE  TIMEDIFF(i.`time`, r.`time`)<'01:05:00'
             and r.`time` < i.`time`
             and r.`date` = i.`date`;
") 

4 个答案:

答案 0 :(得分:2)

您可以使用TIMEDIFF mysql函数

答案 1 :(得分:2)

试试这个

SELECT TIME_TO_SEC(TIMEDIFF('05:00:00', '01:00:00')) 

答案 2 :(得分:0)

尝试这个

  SELECT end-date , start-date FROM `table` 
    where
  end-date - start-date between '01:00:00' and '05:00:00'

答案 3 :(得分:0)

TIMEDIFF()返回expr1 – expr2,表示为时间值。 expr1和expr2是时间或日期和时间表达式,但两者必须属于同一类型。

TIMEDIFF()返回的结果仅限于TIME值允许的范围。或者,您可以使用TIMESTAMPDIFF()UNIX_TIMESTAMP()函数,它们都返回整数。