2016-09-14 32 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