Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 3.852 pregleda

Najnovija ↓

zarez umesto tačke, kao decimalni separator?? 05.06.2007. u 14:51 · pre 236 meseci #1
Pozdrav svima, interesuje me kako se u MySQL-u podešava da umesto "." kao decimalnog separatora bude ","?

Da li se to bira putem "SET NAMES..." klauzule ili na drugi način? Meni je prvi upit posle konekcije na bazu "SET NAMES UTF8" pošto mi je osnovni uslov da koristim UTF8 karakter set.

Hvala!
Potpis
Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
Re: zarez umesto tačke, kao decimalni separator?? 05.06.2007. u 17:01 · pre 236 meseci #2
Prelazno resenje je napraviti stored funkciju koja glasi:

Code:

DELIMITER //
CREATE FUNCTION FORMAT_FLOAT(INPUT FLOAT ) 
RETURNS FLOAT
RETURN replace( replace( replace( INPUT, '.', '_' ) , ',', '.' ) , '_', ',' ) ;//


...medjutim, iz nekog razloga, ova funkcija vraca celobrojne vrednosti. Isto se desava i kada je napravim na sledeci nacin:

Code:

DELIMITER //
CREATE FUNCTION FORMAT_FLOAT(INPUT FLOAT ) 
RETURNS FLOAT
RETURN replace( INPUT, '.', ',' ) ;//


MySQL verzija 5.0.33 je u pitanju. Ima li ko ideju zasto se ovako cudno ponasa?

Kada otkucam:

Code:

select replace(Polje, '.',',') as formatiranoPolje from tabela;


...onda je sve u redu. Ne razumem zasto je to tako? Ako je neko eksperimentisao sa ovim, pisite.

Pozz
Potpis
Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
Re: zarez umesto tačke, kao decimalni separator?? 06.06.2007. u 09:06 · pre 236 meseci #3
Evo dosao sam konacno do solomonskog resenja koje meni vrsi posao:

Code:

CREATE FUNCTION format_number (param float) RETURNS varchar(20)
    
    RETURN replace(replace(replace(format(param,2),".","_"),",","."),"_",",");


...dakle, trik je u tome da funkcija vraca varchar umesto float.

Probajte onda sledece:

Code:

SELECT FORMAT_NUMBER(1.5);


...vraca rezultat: 1,5

Radi kako treba, s tim sto sam ja stavio jos i funkciju koja ostavlja samo poslednje dve decimale (to je ono format(param,2) u sredini one "kobasice" od izraza).

Pozz.
Potpis
Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme