ugrás a tartalomhoz

A mezők egy részének cserélése

cs.m · 2007. Ápr. 22. (V), 14.11
Helló!

Készítek egy online telefonkönyvet, mely 4 oszlopból fog állni: vezetéknév (vnev), keresztnév (knev), utca és házszám (cim), valamint a telefonszám (szam).
Mivel az adatokat nem én gyűjtöttem be, nincs kizárva (sőt, elég valószínű), hogy vannak benne hibák. Jelen esetben arról lenne szó, hogy pl. egyik utcanév minden esetben rosszul van beírva (pl. József Attila helyett Jószef Attila, vagy vmi hasonló jellegű), és ezt jó lenne egy-két kattintással összehozni, magyarul ugye egy UPDATE paranccsal. Viszont azt nem tudom megoldani (habár lehet, hogy van rá egyszerű megoldás), hogy úgy kicseréljek egyes karaktereket az adott mezőkben, hogy ez ne érintse a házszámozást, ami szintén a 'cim' oszlopban van.
Tudna-e valaki nekem erre egy jó SQL-parancsot írni?

Köszönöm előre is!

üdv
Cs.M.
 
1

REPLACE

csla · 2007. Ápr. 22. (V), 14.55
Egyszerűen a REPLACE-t tudod használni. A példádnál maradva:

UPDATE `tábla_neve` SET cim = REPLACE(cim,"Jószef","József") WHERE cim LIKE "%Jószef%"
Arra Neked kell minden esetben figyelned, hogy előfordulhat-e más tartalom is a mezőben, amit lecserélhet. A fenti valószínűleg nem, de mondjuk az "ut"-at már macerásabb "út"-ra cserélni, mert lehet a névben is, pl. Kutya utca. Bár itt célszerű akkor " ut "-at cserélni " út "-ra. Mindig meg kell nézni ezeket a lehetőségeket.
2

REPLACE

cs.m · 2007. Ápr. 22. (V), 18.44
Köszönöm a gyors választ! Az "út"-tal és "utcá"-val nem lesz gond, mivel ezek nem szerepelnek majd a mezőben, de természetesen ezt szem előtt fogom tartani. Még 1x thx!