Vinnaren i pepparkakshustävlingen!
2010-01-11, 21:56
  #1
Medlem
Artmanns avatar
Hejsan

Jag har en tabell som innehåller ett fält av typen DATETIME och jag undrar om det går att sortera innehållet i tabellen efter hur lång tid det är kvar tills den nuvarande tiden.
Citera
2010-01-11, 22:03
  #2
Medlem
Sorteringen måste baseras på en beräkning liknande

MIN(SYSTIME - THATTIME)

där THATTIME är värdet du önskar sortera efter och SYSTIME är en databasfunktion för aktuell tid. Nu framgår det inte vilken databas du kör, men det brukar inte vara omöjligt att konvertera ett DATETIME till en LONG eller motsvarande som kan ge ett kvantifierbart skalärt resultat.
Citera
2010-01-11, 22:33
  #3
Medlem
sepebarns avatar
Typ så här? Kod körd 22:32.
Kod:
SELECT
dt as dt_datetime,
unix_timestamp(dt) as dt_unix,
abs(unix_timestamp(now()) - unix_timestamp(dt)) AS diff_from_now
FROM test
ORDER by diff_from_now
Output
Kod:
dt_datetime  	        dt_unix  	diff_from_now 
2010-01-11 23:00:00  	1263247200  	1640
2010-01-11 22:00:00 	1263243600 	1960
2010-01-12 00:00:00 	1263250800 	5240
2010-01-11 21:00:00 	1263240000 	5560
2010-01-12 01:00:00 	1263254400 	8840
2010-01-11 20:00:00 	1263236400 	9160
2010-01-11 19:00:00 	1263232800 	12760
2010-01-11 18:00:00 	1263229200 	16360
Citera
2010-01-12, 06:21
  #4
Medlem
Citat:
Ursprungligen postat av sepebarn
Typ så här?

Ser väldigt rätt ut härifrån i alla fall.
Citera
2010-01-12, 18:29
  #5
Medlem
Mys-Hitlers avatar
Innehåller tabellen tidpunkter både före och efter just nu?
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback