Using regex to update a table - Mailing list pgsql-general

From howardnews@selestial.com
Subject Using regex to update a table
Date
Msg-id 4B43599B.3090101@selestial.com
Whole thread Raw
Responses Re: Using regex to update a table  (Howard Cole <howardnews@selestial.com>)
List pgsql-general
Happy new year everyone!

I am trying to create a column to extract the file extension from a
column in a table and set another column to this value. E.g. foo.doc -> doc

I am using the regex E'\\.([[:alnum:]])*$', but I cannot seem to find
the correct update combination.

My best attempt to date is to use:

update test set extension = regexp_matches(filename, E'\\.([[:alnum:]])*$')

However this does not effect columns where there is no match - ideally I
would want them setting to null or an empty string, also the resultant
text is of the format '{doc}' for example - as in a set or similar.

Is there an alternative I can use to extract just the extension as a
string, and to update the non matching columns, setting them to null or
empty string?

Thanks.

Howard Cole
www.selestial.com

pgsql-general by date:

Previous
From: Milan Zamazal
Date:
Subject: Re: Large tables, ORDER BY and sequence/index scans
Next
From: Steve White
Date:
Subject: Re: access computed field of RECORD variable