[ SpizaGenije @ 21.04.2011. 11:20 ] @
Radim aplikaciju koja obrađuje podatke sa digitalnih telefonskih centrala i sve to "sprema u bazu"!

Elem... koji tip podataka da stavim za proteklo vreme (mislim na trajanje poziva) i da mogu da uradim nešto kao SUM(vreme_trajanja) as ukupno_vreme npr...


Tnx in advance!
[ Miroslav Ćurčić @ 21.04.2011. 11:25 ] @
INT bih ja koristio, kao trajanje u sekundama.
[ SpizaGenije @ 21.04.2011. 11:48 ] @
Super bi to bilo da ja ne dobijem format vremena hh:MM'ss! iz uređaja... ne dobijem 121s trajanja razgovora, nego 00:02'01h trajanja...
Što se mene tiče, mogu ja to smestiti i u CHAR, čak ni ne sortiram po toj koloni...
Samo ne znam kako da odradim ukupno vreme trajanja...
[ rambo @ 21.04.2011. 12:02 ] @
Ja koristim BIGINT i tu upisujem broj milisekundi, radi veće preciznosti.

EDIT: Jel možeš da kažeš šta koristiš za razvoj aplikacije koja koristi tu bazu?
[ SpizaGenije @ 21.04.2011. 12:27 ] @
@rambo

Za kupljenje i obradu signala, aplikaciju sam napisao davno u VB6... i u njoj su bili generisani i izveštaji (ništa spektakularno - prikaži pozive od - do dana)...

E sada... pošto su mi iz jednog hotela tražili modifikacije, tipa hoću izveštaj takav-i-takav koji će da ima to-i-to... ti-i-ti uslovi pretrage... pa i prilikom odjave iz sobe da se ima platio-nije platio, to sam morao da napišem novu aplikaciju za generisanje izveštaja (u VB.NET)... ona stara, napisana u VB6 radi bez greške... nju ostavljam za obradu signala i dalje...




@ *

samo pls. kako da odradim ono... tipa soba ta-i-ta je imala 3 razgovora u trajanju od:
1. 00:04:25
2. 00:16:40
3. 01:04:14
------------
UKUPNO:
01:25:19
[ Goran Rakić @ 21.04.2011. 13:01 ] @
Vraga mu pa pretvori u sekunde (rastaviš u h,m,s po ":" i izračunaš h*3600 + m*60 +s)
[ SpizaGenije @ 21.04.2011. 13:17 ] @
Dobro, dobro...
Samo bez nerviranja...

Citat:
Goran Rakić: Vraga mu pa pretvori u sekunde (rastaviš u h,m,s po ":" i izračunaš h*3600 + m*60 +s)


Toliko sam znao i sam...
Mislio sam da postoji neko gotovo rešenje tipa TIME_za_te_stvari
[ bogdan.kecman @ 21.04.2011. 14:57 ] @
mozda u ponekom jeziku ... ako pises u vb-u mislim da tamo nema ... sve u svemu pretvori u broj pre nego ga posaljes mysql-u, dal ces int ili bigint odluci sam, koliko su ti veliki brojevi ..
[ SpizaGenije @ 21.04.2011. 15:14 ] @
auuuu... množi, deli, sabiraj, oduzimaj... ma nije meni problem poslati u MySQL kao INT izražen u sec... to mi je najmanji problem... tamo gde sam parsovao signal, tamo ću i da formatiram vrednost onako kako ja hoću

Nego mi je problem pri generisanju izveštaja... inače pokušavam da izbegavam petlje na sve načine, ali valja ispetljati nazad taj INT u hh:MM:ss
da se to vidi u nekom gridu... zamisli, doš'o čovek da se odjavi, pita šta je dužan za tel, a službenik mu kaže: "Dužni ste 12,45KM, za pet razgovora svaki u dužini trajanja od toliko stotina sekundi, a ukupno trajanje tih razgovora je bilo 2167s !"

hahahahaha...

Zato sam mislio da iskoristim taj TIME_za_te_stvari koji na-žalost-ne-postoji


Bogdane... kakav si da to ispraviš
da načukaš nešto na brzinu, pa da se pojavi u ver. 5.6
[ Aleksandar Ružičić @ 21.04.2011. 15:33 ] @
Zasto jednostavno ne bi imao onda dve kolone? Npr time_elapsed VARCHAR(15) i time_elapsed_sec UNSIGNED INT? U prvu trpas string oblika HH:MM:SS a u drugu tu vrednost u sekundama, onda nad sekundama radi order, sumiranje, sta god. A kad treba da prikazes koristis time_elapsed.
Jedino ces za sumiranje morati da odradis konverziju iz sekundi u taj sting oblik, ali i to mozes jednostavno u mysql:

Code:

SELECT FROM_UNIXTIME(SUM(time_elapsed_sec), '%H:%i:%s') AS total_duration FROM table_name WHERE something


to bi trebalo da radi, nisam testirao..

inace ova prva kolona (time_elapsed) ti bas i ne treba, ali eto ako hoces da ustedis na vremenu kad stampas sve pozive, da ne moras za svaki red da radis FROM_UNIXTIME..

edit:
hmm.. sad ramisljam, ovo ce da radi samo ukoliko je ukupan broj sekundi manji od 86400 tj od 24 sata.. nista, ako vec hoces u mysqlu da radis to pretvaranje (mada, ja bih to ipak radio u aplikaciji) moraces malo vise da se pomucis (zapravo je u pitanju veoma jednostavan racun ali ti za to u mysql-u treba jedna ruzna "kobasica")
[ bogdan.kecman @ 21.04.2011. 15:34 ] @
to ne treba mysql da radi .. on ce ti odraditi sum() a tebi ako je tesko da ga podelis sa 60 i razdvojis koliko minuta + koliko sekundi onda ...

e sad, ako bas oces da ti to mysql racuna imas SEC_TO_TIME

http://dev.mysql.com/doc/refma...ions.html#function_sec-to-time

Code:

mysql> select SEC_TO_TIME(125);
+------------------+
| SEC_TO_TIME(125) |
+------------------+
| 00:02:05         |
+------------------+
1 row in set (0.03 sec)


postoji i http://dev.mysql.com/doc/refma...ions.html#function_time-to-sec ali to nikako ne bi trebao da radis sa mysql strane ako imas neki ozbiljan load .. bolje to radi na strani aplikacije
[ SpizaGenije @ 21.04.2011. 16:03 ] @
@Aleksandar
Vidiš, ja bih se toga setio tek možda ujutro... ja sam na poslu bio do malopre, zabagovao načisto
A ove freelance aktivnosti radim kod kuće... pa možeš misliti kako mi je kada sam legao zbog aplikacije jutros u pola pet, a ovaj problem mi pao na pamet danas 10 min pre nego što sam otvorio temu... nisam pošteno ni razmislio kako treba... tako ću i da odradim

@Bogdan
Vidiš da sam bio u pravu. Ipak postoji TIME_za_te_stvari

Ma ništa... u gridu i izveštaju prikazujem na način na koji mi je predložio Aleksandar, a sumiram na način koji si ti predložio...




Pa kad malo dremnem, odoh da rešim problem

Pozz... i hvala vam još jednom na predlozima

Hvala vam momci... evo me na kafi, popiću piće i u vaše ime ako se slažete




EDIT:
@Bogdan
Ma nije to neki ozbiljan upload... par hiljada redova podataka godišnje...
Pa ko još koristi danas telefone u hotelima? Možda stranci zato što ih puca roaming, pa im ovako (možda) jeftinije!



Elem... za par dana idem za BG pa se dogovorimo za neko piće, bezze mi da ga pijem sam!

Ipak... šta bih ja bez ES forumaša?!

[Ovu poruku je menjao SpizaGenije dana 21.04.2011. u 17:15 GMT+1]
[ Aleksandar Ružičić @ 21.04.2011. 16:56 ] @
Citat:
bogdan.kecman: e sad, ako bas oces da ti to mysql racuna imas SEC_TO_TIME

http://dev.mysql.com/doc/refma...ions.html#function_sec-to-time


pojma nisam imao da ova fja postoji, zahvaljujem na informaciji :)

mada, mislim da nikada necu imati razloga da je koristim, ali volim kad naucim nesto novo :D
[ SpizaGenije @ 21.04.2011. 17:20 ] @
@Aleksandar

Pa lepo sam malopre rekao (da se citiram):
Citat:
šta bih ja bez ES forumaša?!

i da dodam
Code:
I bez Bogdana :D
[ bogdan.kecman @ 21.04.2011. 22:18 ] @
da, za hotel jeste laganica, mislio sam da je neki voip, oni imaju malo jaci load :D ...

sto se tice kave i rahatluka .. javi se, mada cu ja narnih meseci biti malo nedostupan
[ SpizaGenije @ 22.04.2011. 17:37 ] @
Jooj... ala fercera!


@Bogdan

Što se tiče kahve i rahatluka, to ako se sudarimo negde u Sarajevu!

U BGu možeš dobiti kafu i kolu, a ako naletiš u Bijeljinu, javi se i tu dobijaš 'ladno točeno (više njih) na nekoj dobroj svirci!