воскресенье, 12 апреля 2015 г.

Замена подстроки в поле varchar PostgreSQL

Запускаем psql из командной строки. Чтобы не приходилось вводить полный путь к psql, добавляем путь к установленной папке bin (у меня D:\Program Files (x86)\PostgreSQL\9.3\bin) в переменную окружения (на русской Windows 7 путь к настройкам Панель управления\Система и безопасность\Система\Защита системы\Дополнительно\Переменные среды) поиска PATH у активного пользователя или в глобальные настройки:
psql --username=db_user --dbname=video_base

Замена подстроки в поле таблицы: надо стандартный путь в файловой системе линукс (/media/Data/.../file1.jpg) поменять на виндовый путь (D:\...\file1.jpg). Правильнее конечно было бы хранить в базе путь до файлового архива и относительные пути к картинкам, вместо одного пути абсолютного.

Сначала удаляем слева подстроку:
video_base=> UPDATE video_data SET filename = trim (leading '/media/Data/Temp/' from filename);

Добавляем слева нужную базовую строку:
video_base=> UPDATE video_data SET filename = concat('F:/Data/image/', filename);

Уходим:
video_base=> \q

Использован материал статей:
1) http://postgresql.ru.net/manual/functions-string.html

Комментариев нет:

Отправить комментарий