2016-09-14 31 views
1

请设置下表。当我使用datediff(StartDate,SubmittedOn)时,我只能得到int类型的日子,这是不准确的。那么如何获得最后一个?谢谢。MySQL - datediff天(保留几位十进制)

StartDate  SubmittedOn  what I get using datediff what I am tring to get 
9/7/2016 13:12 9/1/2016 0:00  6       6.550520833 
9/1/2016 16:22 9/1/2016 0:00  0       0.682048611 
9/9/2016 13:30 9/1/2016 0:00  8       8.562708333 
9/9/2016 13:31 9/1/2016 0:00  8       8.563472222 
9/9/2016 16:08 9/1/2016 0:00  8       8.672407407 
9/2/2016 16:08 9/1/2016 0:00  1       1.672685185 
9/2/2016 16:01 9/1/2016 0:00  1       1.667465278 
+0

您无需发表其他问题,我已投票重新打开上一个问题,因为它被错误关闭。 [here](http://stackoverflow.com/questions/39498310/mysql-date-difference-keep-two-decimal) – Shaharyar

+0

@Shaharyar由于Gordon Linoff在这里为我提供了正确的解决方案。只是让老问题关闭......通过这个被错误地关闭...... – qqqwww

回答

1

前一个问题似乎被错误地关闭。

在任何情况下,您都希望以较小的时间单位获得差异并将其转换为天数。例如:

select t.*, 
     timestampdiff(second, startdate, submittedon)/(24 * 60 * 60) as days_with_fraction 
from t; 
+0

是的,这个问题被误解所封闭。 你现在就解决我的问题!好解决方案!我得到相同的结果!谢谢。 – qqqwww