|
SQL baze podataka - Sponzor: Baze-Podataka.net MySQL, MSSQL, Oracle, Access, ODBC. Ako imate problem brže i preciznije ćete dobiti odgovor ako priložite strukturu tabela ili skript koji kreira tabele i puni ih test podacima umesto što to problem opisujete samo rečima. Sponzor: Baze-Podataka.net - Blog o bazama podataka |
|
Alati teme | Način prikaza |
19. 05. 2009. | #1 |
profesionalac
Qualified
Datum učlanjenja: 02.05.2009
Poruke: 193
Hvala: 27
8 "Hvala" u 6 poruka
|
Upis brojcanih vrednosti sa zarezom i tackom u MySQL
Molim vas za pomoc!
Ne znam kako da upisujem vrednosti tipa 1.500,13 din. (hiljadupetsto dinara i 13 para) u bazu. To sam naveo kao primer, a vrednosti ce ici i u milion i nesto. Da li trebam da postavim kolonu u koju upisujem kao float, decimal, varchar itd? Ja sam probao sa decimal i float, ali mi ne upisuje zarez i vrednost iza zareza. Jedino kad postavim kolonu kao varchar tad upisuje sve. Problem mi isto predstavlja kad iscitam vrednost 1.500,13 iz baze i uporedim je sa brojem 2, ispostavi se da se radi o 1 zarez 5, odnosno jedan ipo, a ne hiljadu ipo. Ispada da mi je 1.500 isto kako 1,5. Pomozite! |
19. 05. 2009. | #2 |
Goran Pilipović
Sir Write-a-Lot
|
Ako nisi podesio da radi "po našem" onda moraš da koristiš . kao decimalni zarez.
Obavezno koristi FLOAT(x,y) naročito ako ćeš da radiš neke računske operacije, X je broj mesta, a Y je broj decimalnih mesta, na primer FLOAT(7,2) može da upiše sedmocifren broj sa 2 rezervisana mesta. Pri tom ako upisuješ broj sa 3 decimale, mysql bi trebao sam da radi zaokruživanje. A ako ćeš da prikazuješ "po našem" onda pre ispisa koristi funkciju za formatiranje brojeva, recimo u PHP je to number_format()
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! |
19. 05. 2009. | #3 |
profesionalac
Qualified
Datum učlanjenja: 02.05.2009
Poruke: 193
Hvala: 27
8 "Hvala" u 6 poruka
|
Gorane, hvala na odgovoru!
Nista nije podeseno i menjano, ne znma ni gde treba, tako da "." koristi kao decimalni zarez. Ostao sam na varchar jer nece mi biti potrebno da radim neke racunske operacije na tim vrednostima. Potrebno mi je samo za odredjivanje uslova pomocu "BETWEEN". Inace se neka vrednost upisuje u bazu u obliku 24000.45, a kad ga iscitavam formatiram ga na ovaj moj neobican nacin: Kôd:
$c=str_replace(".",",",$vr[cena]); $c1=strrev($c); $c2 = wordwrap($c1, 3, ".", 1); $cc= strrev($c2); $cc=str_replace(".,",",",$cc); |
19. 05. 2009. | #4 |
Goran Pilipović
Sir Write-a-Lot
|
Joj, joj, joj ...
Baš taj between će ti raditi duplo brže ako koristiš float. A što se tiče formatiranja, ne znam da li si mogao komplikovanije Ako imas float vrednost $vr['cena'] i hoces da umesto 24000.45 ispises 24.000,45 onda koristis number_format ($vr['cena'], 2, ",", "."); i dobiješ baš to što ti treba.
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Ispis odabranih checkboxova i upis u bazu | blackshtef | PHP | 3 | 23. 04. 2010. 21:00 |
Upload fotke i automatski upis URLa u bazu | ljtruba | Sva početnička pitanja | 3 | 09. 11. 2009. 22:45 |
Entity Framework - Upis kod m-n relacije | Marko Medojevic | Programiranje | 0 | 20. 02. 2009. 22:21 |
PHP brzi od MySQL-a u izvlacenju lookup vrednosti?!?!? | Pedja | PHP | 13 | 02. 08. 2006. 17:40 |