Re: using replace function - Mailing list pgsql-general

From David G. Johnston
Subject Re: using replace function
Date
Msg-id CAKFQuwbYHvu9J9Qb1CrqJ8gCPHxvH9vd7x6Yc=aZMx2Z66GD=g@mail.gmail.com
Whole thread Raw
In response to Re: using replace function  (Rob Sargent <robjsargent@gmail.com>)
Responses Re: using replace function
List pgsql-general
On Thursday, November 28, 2019, Rob Sargent <robjsargent@gmail.com> wrote:


> On Nov 28, 2019, at 1:09 PM, Antonio Silva <aolinto.lst@gmail.com> wrote:
>
> Hello list
>
> I want to replace a string (not a substring) in a field but making sure that the string in the full field.
>
> In the example below since 'blue' is not the full text in 'blue shark' there should not have a replacement.
>
> How to say "replace only with 'blue' if it is the full string in the field".
>
> With REPLACE I get:
>
> SELECT REPLACE('blue shark','blue','blue fish');
>      replace     
> -----------------
>  blue fish shark
> (1 row)
>
> but I would like to get:
>
> SELECT REPLACE('blue shark','blue','blue fish');
>   replace   
> ------------
>  blue shark
> (1 row)
>
> Thanks a lot
>
> Antonio Olinto

does this help?
select replace (a.col, ‘value’, ’new value’) where a.col = ‘value’;


I’d probably do something like:

Select case when a.col = ‘value’ then ‘new value’ else a.col end from a;

I suspect adding where a.col = ‘value’ isn’t viable.  If it is then:

Select ‘new value’ from a where a.col = ‘value’;

David J.

pgsql-general by date:

Previous
From: Rob Sargent
Date:
Subject: Re: using replace function
Next
From: Tom Lane
Date:
Subject: Re: using replace function