Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zaskakujące zachowanie funkcji sec_to_time przy sum
Forum PHP.pl > Forum > Bazy danych > MySQL
jacusek
Witam.
Mam tablę w której w jednej z kolumn trzymam czas połączeń (analiza billingów) w formacie time. I zauważyłem zaskakującą prawidłowość nie wiem z czego wynikającą.
Otóż, kiedy chce zsumować kilka "czasów" i podaje w ten sposób
  1. sum(kolumna_z_czasem)

to oczywiście wynik jest w sekundach, ale niestety nieprawidłowy. Wpadłem na to, ze należy to zmienić na
  1. sec_to_time(sum(kolumna_z_czasem))

ale w sumie to też bzdura, no bo przecież liczy z nieprawidłowej liczby sekund.
Dopiero po takiej formule wyszedł mi prawidłowy wynik:
  1. sec_to_time(sum(time_to_sec(kolumna_z_czasem)))

I teraz właściwie się zastanawiam dlaczego tak się dzieje?
maly_swd
skoro masz jako czas:
1. czas zamieniasz na sekundy
2. sumujesz sekundy
3. sume sekund zamieniasz na czas

sec_to_time(sum(time_to_sec(kolumna_z_czasem)))

Wiec co w tym dziwnego?

jacusek
zdziwiło mnie, że już druga opcja nie zadziałała od razu prawidłowo. Ale widać tak musi być.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.