2016-09-14 1 views
1

Bitte die folgende Tabelle einstellen. Wenn ich datediff (StartDate, SubmittedOn) verwende, bekomme ich nur int type Tage, was nicht genau ist. So, wie man den späten bekommt? Vielen Dank.MySQL - datierte Tage (mehrere Dezimalzahlen beibehalten)

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

Sie müssen keine weitere Frage stellen, ich habe gewählt, um Ihre vorherige wieder zu öffnen, wie es falsch geschlossen wurde. [hier] (http://stackoverflow.com/questions/39498310/mysql-date-difference-keep-two-decimal) – Shaharyar

+0

@Shaharyar Seit Gordon Linoff gab mir die richtige Lösung hier. Lass die alten Fragen einfach schließen ... Durch das wurde falsch geschlossen .... – qqqwww

Antwort

1

Die vorherige Frage schien nicht richtig geschlossen werden.

Auf jeden Fall möchten Sie den Unterschied in einer kleineren Zeiteinheit zu nehmen und zu Tage zu konvertieren. Zum Beispiel:

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

Ja, diese Frage wurde durch Missverständnis geschlossen. Sie lösen jetzt mein Problem! gute Lösung! Ich bekomme die gleichen Ergebnisse! Vielen Dank. – qqqwww