timediff有三列/参数

时间:2014-06-04 07:53:39

标签: mysql

我有三个时间戳列,它们具有不同的时间戳值。 我想计算时差,但时差仅需2个参数,我有3个。

 select date_format(timediff(t1,t2),'%k hours, %i minutes, %s seconds ago') as    
 time_spent1,date_format(timediff(t3,timediff(t2,t1)), 
'%k hours, %i minutes, %s seconds ago') as time_spent2
 from timer_test where key_val=1;

在time_spent2的结果中,它显示为null。我如何计算3列的时差

1 个答案:

答案 0 :(得分:0)

根据您的评论,您可以使用IFNULL函数计算与t2t3之间的差异,具体取决于t3是否有值:

SELECT DATE_FORMAT(TIMEDIFF(t1,IFNULL(t3,t2)),'%k hours, %i minutes, %s seconds ago') 
  FROM timer_test 
 WHERE key_val=1;