Postgres: редактировать значения с помощью регулярных выражений? - PullRequest
1 голос
/ 16 мая 2011

Я хотел бы запустить запрос в postgres, который находит все строки в таблице с путем к файлу cor/* и устанавливает их в con/*.

В псевдокоде:

UPDATE photo set filepath="con/*" where filepath="cor/*";

Пожалуйста, кто-нибудь может мне помочь с правильным синтаксисом postgres?Возможно ли это в postgres?

Большое спасибо!

Ответы [ 2 ]

1 голос
/ 16 мая 2011

Регулярные выражения на самом деле не нужны:

UPDATE photo
    SET filepath = 'con' || substring(filepath, 4)
WHERE filepath LIKE 'cor/%'
1 голос
/ 16 мая 2011

Есть функция regexp_replace ():

http://www.postgresql.org/docs/current/static/functions-string.html

update photo
set filepath = regexp_replace(filepath, '^cor/', 'con/')
where filepath ~ '^cor/';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...