UPDATE tablename SET description=(substring(description for position('test' in
description))||'exam'||substring(descriptionfrom position('test' in description)+char_length('test')));
Keep in mind that this will only replace the first occurence of the word 'test' in the description and that description
shouldhave 'test' in it. So better to add a WHERE condition to youw update.
cheers,
thalis
On Wed, 11 Jul 2001, Peter Choe wrote:
> is there a way in postgres to change just a part of a text data in a
> column. for example if i have a column called description with the
> following data:
>
> +---------------------+
> | description |
> +---------------------+
> | this is a test. |
> +---------------------+
>
> and i want to change the word test to exam, can i just replace the word
> test rather than reentrying to who value of the column?
>
> so, instead of:
>
> update foo set description='this is a exam' where description='this is a
> test';
>
> can i do something like:
>
> update foo replace test with exam;
>
> peter choe
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly
>