[ MatezYU @ 01.02.2007. 06:49 ] @
Da li moze neko da mi napise sql kod kako bih mogao da odradim sledece..
Elem, imam u bazi jmbg broj koji sam uzeo iz jedne stare baze.. jmbg ima 13 cifara, medjutim iz nekog meni nepoznatog razloga svaki jmbg broj u toj staroj bazi koji je pocinjao sa 0, izgubio je tu nulu i sada ima 12 cifara.. Meni bi trebao kod sada kako mogu da proverim bazu i za one rekorde koji imaju manje od 13 cifara da im nalepim jednu nulu na pocetku... U pitanju je char ti podataka.. Isto tako voelo bih iz tog jmbg broja da izvucem datum rodjenja, recimo prva dva broja su mi dan, 3 i 4 broj mesec a ona tri godina sa sufiksom 1. Mucim se pa ako moze neko da mi pomogne..
Hvala!
[ bgd2500 @ 01.02.2007. 11:50 ] @
update ime_tabele set ime_kolone = concat('0', ime_kolone) where char_length(ime_kolone) < 13;

Za drugi deo pitanja pogledaj substring funkcije, recimo

SUBSTRING(str,pos,len)
[ baseQ @ 02.02.2007. 01:51 ] @
Koliko sam ja shvatio,
verovatno problem lezi u tome
sto rezultat query-ja vraca INTeger
tj. broj , a tebi bi trebalo u ovom
slucaju da vrati STRING. Onda
prva 0 nece da se izgubi.
poz
[ qvinta_piva @ 20.02.2007. 22:03 ] @
Probaj da konvertuješ kolonu u integer sa zerofill atributom.
Trebalo bi da reši automatski problem.
Ali prvo probaj na kopiji!