[Tvlug] postgres replace su una query

Stefano Zamboni zamboni a mind-at-work.it
Mar 13 Lug 2010 12:10:48 CEST


Il giorno mar, 13/07/2010 alle 11.43 +0200, mcrisan.tvlug ha scritto:
> Il 13/07/2010 10:51, Stefano Zamboni ha scritto:
> > puoi fare un bel respiro e definire il problema e cosa vorresti ottenere
> > con un esempio che sia calzante? :-)
> 
> diciamo che sono un p in panic mode...

me par..

> 
> in finale su una tabella con n campi dovrei sostituire parte di un 
> record di un campo con una stringa diversa.. esempio:
> 
> select campo from tabella where campo like 'pippo%'
> mi restituisce n record che hanno
> pippo_pluto
> pippo_paperino
> pippo_archimede
> 
> io vorrei fare un replace di pippo con fiore e ottenere alla fine
> 
> fiore_pluto
> fiore_paperino
> fiore_archimede
> 
> praticamente alterare solo la parte iniziale del campo mantenendo il resto

secondo questa pagina
http://www.postgresql.org/docs/current/static/functions-string.html
postgres supporta il replace

ergo:

prima provi la sintassi con un select, tipo:

select campoA, replace(campoA,'pippo','fiore') as campomodificato from
yourtable where condizione_di_select

questo ti fa vedere come si trasforma il campoA.. occhio alla
condizione_di_select, nel senso che se non vuoi/devi fare cacao su tutti
i record, devi esprimere correttamente il where

quando sei sicuro della cosa:
- ti fai un backup (perch comuunque qui nessuno  fesso)
- dai un
update yourtable set campoA=replace(campoA,'pippo','fiore') where
condizione_di_select

that's all

naturalmente se fai porcherie io non mi ritengo responsabile ;-)

> 
> > danke
> 
> spero si capisca, bitte
> 

direi di si..  il classico caso di "spiega il problema, non la
soluzione" ;-)

S.



Maggiori informazioni sulla lista Tvlug