Da budem precizan: ne pitam koji SQL tip koristite za pamcenje decimalnih vrijednosti (decimal, float).
Pitam: kako upisati decimalne brojeve, koje je korisnik unio, a koji imaju 'zapetu', kao decimalni delimiter?
Znaci, korisnik je unio '23,77' ili '333,88' - koriscenjem INSERT naredbe ovo nece proci, jer je 'zapeta' istovremeno i delimiter u INSERT komandi (SQL Server 2008 javlja gresku: 'Error converting data type varchar to numeric'). Ovo se rjesava tako (barem sam ja, do sada, tako rjesavao) sto se u Control Panel-u podesi da je digitalni delimiter 'tacka'. Znaci, korisnicki unos tipa: '23.77' ili '333.88', se bez problema upisuje u bazu koriscenjem naredbe INSERT.
Sve sto sam do sada radio bilo je za 'domace trziste' i lako bih 'ubijedio' korisnika da prihvati tacku, kao decimalni delimiter, umjesto zapete.
E sad, razvijam jednu aplikaciju, kojom ce se sluziti (trenutno) korisnici na dva kontinenta, sto znaci: razliciti jezicki interfejsi, raznorazna Regionalna i ina podesenja, korisnike (mozda) i bez nekih vecih znanja o racunarima itd ... u prevodu, htio bih da ovaj dio, oko unosa decimalnih brojeva, ne bude zavistan od podesenja u Control Panel-u (ako je moguce)?
Dakle, moje pitanje glasi: da li je, i kako, moguce upisati podatak u SQL bazu, ako podatak sadrzi zapetu(e) ? Znaci, kako upisati, INSERT komandom, podatke tipa: '23,77', 'A,B,C', '333,88', ... dakle bilo sto, sto sadrzi zapetu(e) ?
Ako je odgovor odrecan, sta da radim: da kontrolisem svaki decimalni unos (u kodu) i ako sadrzi zapete, da ih konvertuejm u tacke? A kod ucitavanja i prikazivanja korisniku, da ih konvertujem iz tacaka u zapete? Da li postoji neko rjesenje kod samog SQL servera ?
Hvala unaprijed na odgovoru ...