Как удалить все после ‘,’ в столбце в PostgreSQL

Вопрос: У меня есть таблица со столбцом, содержащим адрес. Я хочу удалить все после , в строке. Как мне сделать это в PostgreSQL? Я пытался использовать REPLACE, но это работает только на определенных строках, что является проблемой, потому что каждая строка в столбце будет иметь свой адрес. SELECT * FROM address_book r_name r_address xxx 123

Вопрос:

У меня есть таблица со столбцом, содержащим адрес. Я хочу удалить все после , в строке. Как мне сделать это в 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

Оцените статью
Добавить комментарий