Hi Osvaldo, Rod, David and Tom Thanks for your attention. Lastly it is not that difficult.
For me the more natural way is Rod's suggestion, to use replace with where. I don't know why I didn't think of this solution. The usage of regexp_replace is very nice too and I will take a time to learn it. Thanks a lot to you all Antonio Em sex., 29 de nov. de 2019 às 01:22, Tom Lane <t...@sss.pgh.pa.us> escreveu: > "David G. Johnston" <david.g.johns...@gmail.com> writes: > > On Thursday, November 28, 2019, Rob Sargent <robjsarg...@gmail.com> > wrote: > >> I want to replace a string (not a substring) in a field but making sure > >> that the string in the full field. > > > I’d probably do something like: > > Select case when a.col = ‘value’ then ‘new value’ else a.col end from a; > > Yeah, this. You could wrap it up in a SQL function if you want the > same level of notational convenience as replace(). > > Another possibility is regexp_replace with an anchored pattern, but > that would potentially require escaping regexp metacharacters in the > pattern, so the PITA factor is high. And I doubt it'd be faster than > the CASE solution. > > regards, tom lane > -- Antônio Olinto Ávila da Silva Biólogo / Oceanógrafo Instituto de Pesca (Fisheries Institute) São Paulo, Brasil