Moro,
Olen vähä uusi näissä java/PHP/MySQL jutuissa.
Kun minulla on MySQL kannassa TIME_RECEIVED solussa arvo "2006-05-19 21:0:00" ja solun tyypi on timestamp. Miten järkevimmin lasken aikaeron johonkin toiseen soluun?
Onko tuo data stringi? Jos on niin sitten ensin pitää muuttaa sekunteiksi ja sitten laskea ero sekunteina ja toimittaa tulos ulos mktimella? Noinko?
Tahtoisin mahdollismman lyhyen konstin laskea kahden eri tietueen timestamppeja.
PHP ei ollut niin viksu että pistin vaan ajat eri muuttujiin ja suoritin operatsuuneja. Vastaus oli aina nolla. :-)
t:SOS
Onko mahdollista että teet tuon laskutoimituksen suoraan sql:llä? Sehän olisi kaikista helpoin ratkaisu. Mutta muussa tapauksessa apuun tulee esimerkiksi funktio strtotime.
Manuska kertoo, että timediff olis kiva.
manuska kirjoitti:
TIMEDIFF() returns the time between the start time expr and the end time expr2. expr and expr2 are time or date-and-time expressions, but both must be of the same type.
mysql> SELECT TIMEDIFF('2000:01:01 00:00:00', -> '2000:01:01 00:00:00.000001'); -> '-00:00:00.000001' mysql> SELECT TIMEDIFF('1997-12-31 23:59:59.000001', -> '1997-12-30 01:01:01.000002'); -> '46:58:57.999999'
sooda kirjoitti:
Manuska kertoo, että timediff olis kiva.
Tämä on ilmeisesti jatkoa tähän ongelmaan, jolloin tuo TIMEDIFF() ei oikein toimi, sillä kun ei pysty vertaamaan ainakaan mitenkään järkevästi kahden peräkkäisen rivin aikoja.
UNIX_TIMESTAMP() tai sitten tuo Olgan mainitsema strtotime on varmaan helpoin ratkaisu.
Aihe on jo aika vanha, joten et voi enää vastata siihen.