dbaspot
Tags Register FAQ Calendar Search Today's Posts Mark Forums Read

Re: [GENERAL] Enc: Help to replace caracter - postgresql

This is a discussion on Re: [GENERAL] Enc: Help to replace caracter - postgresql ; On Fri, Nov 14, 2008 at 12:17 PM, paulo matadr wrote: > > I Need to replace string (" ) in the situation below : > > select clie_nmcliente from cadastro.cliente where clie_nmcliente like > '%"%'; > > result: > ...


Home > Database Forum > Other Databases > postgresql > Re: [GENERAL] Enc: Help to replace caracter

Reply

 

LinkBack Thread Tools Display Modes
  #1  
Old 11-14-2008, 12:55 PM
Database Bot
 
Join Date: Sep 2009
Posts: 1,236,254
Database Administrator is on a distinguished road
Default Re: [GENERAL] Enc: Help to replace caracter

On Fri, Nov 14, 2008 at 12:17 PM, paulo matadr wrote:
>
> I Need to replace string (" ) in the situation below :
>
> select clie_nmcliente from cadastro.cliente where clie_nmcliente like
> '%"%';
>
> result:
> JOANA D"ARCALMEIDA"
> EMLURB "P M R."
> CECILIA D"CAGNO"
> HELENA FERREIRA D"FREITAS"
> JOSE M. "BARRACA DO BOLA"
> FORTE" DUNAS BAR"
> JOANA D"ARC R. DE SOUZA
> ASSEMBLEIA DE DEUS"
> USINA SALGADO"SUPRIMENTO
> JOSE MOURA 'BIGODE"
> BEATRIZ MEDEIROS D"EMERY
> Any help me to create pgPL/sql or funcion to replace ( " ) to null value,
> I have many table with this.
> Thanks for help
>


hi, with the regexp_replace function can replace a character by
another, for example:

SELECT clie_nmcliente, regexp_replace(clie_nmcliente,'"','*','g')
FROM cadastro.cliente
WHERE clie_nmcliente like '%"%';

this function could solve your problem, only have to change the name
of each table ...

CREATE OR REPLACE FUNCTION replace_char(oldcharacter character
varying, newcharacter character varying)
RETURNS void AS
$BODY$
DECLARE
rowtable RECORD;
BEGIN
FOR rowtable IN SELECT * FROM cadastro.cliente LOOP
UPDATE cadastro.cliente set clie_nmcliente =
regexp_replace(clie_nmcliente,oldcharacter,newchar acter,'g');
END LOOP;
END;
$BODY$
LANGUAGE 'plpgsql';

I run this query to change the text " by * :

SELECT replace_char( '"' , '*' );

should read the documentation:

http://www.postgresql.org/docs/curre...S-POSIX-REGEXP

Saludos y abrazos...

Marco Antonio Frias Butrón
marcofrias@linuxpackages.net
Slackware ~ Linux User #356229

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply With Quote
Reply

Thread Tools
Display Modes



All times are GMT -4. The time now is 05:48 AM.