Reputation: 6117
I'd like to run a query in postgres that finds all rows in a table with a filepath of cor/*
and sets them to con/*
.
In pseudocode:
UPDATE photo set filepath="con/*" where filepath="cor/*";
Please could anyone help me out with the correct postgres syntax? Is this possible in postgres?
Many thanks!
Upvotes: 1
Views: 176
Reputation:
Regular expressions aren't really needed:
UPDATE photo
SET filepath = 'con' || substring(filepath, 4)
WHERE filepath LIKE 'cor/%'
Upvotes: 1
Reputation: 78443
There's a regexp_replace() function:
http://www.postgresql.org/docs/current/static/functions-string.html
update photo
set filepath = regexp_replace(filepath, '^cor/', 'con/')
where filepath ~ '^cor/';
Upvotes: 1