Вопрос:
У меня есть таблица со столбцом, содержащим адрес. Я хочу удалить все после , в строке. Как мне сделать это в PostgreSQL?
Я пытался использовать REPLACE, но это работает только на определенных строках, что является проблемой, потому что каждая строка в столбце будет иметь свой адрес.
SELECT * FROM address_book r_name r_address xxx 123 XYZ st., City, Zipcode yyy 333 abc road, City, Zipcode zzz 222 qwe blvd, City, Zipcode
Мне нужен столбец r_address чтобы только вернуть:
123 XYZ st. 333 abc road 222 qwe blvs Лучший ответ:
Используйте функцию split_part, вот так:
SELECT r_name, split_part(r_address, ‘,’, 1) AS street FROM address_book
Документы: https://www.postgresql.org/docs/current/functions-string.html.
Скрипка: http://sqlfiddle.com/#!17/51afe/1