From: Kevin Grittner <Kevin.Grittner@wicourts.gov>
To: Karen Stone <kstone@mhs.mphasis.com>
To: Naomi Walker <nwalker@mhs.mphasis.com>
To: pgsql-admin@postgresql.org <pgsql-admin@postgresql.org>
Subject: Re: Change a character in a text field
Date: Wed, 02 Jul 2008 13:07:29 -0500
Message-ID: <486B7D9F.EE98.0025.0@wicourts.gov> (raw)
In-Reply-To: <09BDF9F0EAD32745A823E1865E6C45F3C99AE3@ecimail.eldocomp.com>
References: <486A9A5E.9070905@mhs.mphasis.com>
<486A59E1.EE98.0025.0@wicourts.gov>
<09BDF9F0EAD32745A823E1865E6C45F3C99AE3@ecimail.eldocomp.com>
>>> Karen Stone <kstone@mhs.mphasis.com> wrote:
>>> Is there some way with a SQL state to interrogate a text field, and
>>> replace characters.
>>>
>>> For example, we would like all "|"'s to be changed to something
else,
>>> on
>>> a regular basis...
>>
>> It sounds like you might want to look at the regexp_replace
function:
>>
>>
http://www.postgresql.org/docs/8.3/interactive/functions-matching.html#F>> UNCTIONS-POSIX-REGEXP
>>
>> Be sure to use a WHERE clause on your UPDATE with the ~ operator.
>
> Can you please provide a complete example of how to use this in the
> update command? ie... how do we select the table/field that we want
to
> interrogate and make the change to?
Assuming standard_conforming_strings is on, this (untested) should do
it:
UPDATE sometable
SET somecolumn = regexp_replace(somecolumn, '\|', 'something else',
'g')
WHERE somecolumn ~ '\|';
If standard_conforming_strings is off, double the backslashes.
-Kevin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-admin@postgresql.org
Cc: Kevin.Grittner@wicourts.gov, kstone@mhs.mphasis.com, nwalker@mhs.mphasis.com
Subject: Re: Change a character in a text field
In-Reply-To: <486B7D9F.EE98.0025.0@wicourts.gov>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox