Is there any requirement that you have to use REPLACE? Another (possibly better) way to do the same is by doing:
select translate(your_string,'aeiou','') from your_table; In my experience that performs much better than regexp. I just ran it on a table of about 100K random U.S addresses and TRANSLATE outperforms REGEXP_REPLACE by a factor of 2. I would use TRANSLATE unless you need some of the heavier lifting that REGEXP can provide. > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Geoffrey > Sent: Sunday, May 07, 2006 3:54 PM > To: pgsql-general@postgresql.org > Subject: Re: [GENERAL] Using the REPLACE command to replace all vowels > > Magnus Hagander wrote: > >> Is there a way to make seperate replacements in 1 field in > >> one command in SQL? > >> > >> I need to remove all vowels (a,e,i,o,u) in a field. How would > >> I go about that? > > > > Try something like > > SELECT regexp_replace(your_string,'[aeiou]','','g') ... > > > > (btw, if you want all vowels, don't forget 'y' :-P) > > As I recall, that should be 'and sometimes y... I don't > recall the sql > syntax for SOMETIMES :) > > -- > Until later, Geoffrey > > Any society that would give up a little liberty to gain a little > security will deserve neither and lose both. - Benjamin Franklin > > ---------------------------(end of > broadcast)--------------------------- > TIP 5: don't forget to increase your free space map settings > ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match