Подстрока адреса с использованием PSQL

У меня есть список адресов в столбце:

Адрес

Тампа, Флорида 33620

Zephyrhills, FL. 33539

(1000 строк)

Есть ли способ разделить город, штат и почтовый индекс? Я пробовал split_part, но функция не работает? Мне действительно нужна помощь в этом! Я использую PSQL. Заранее спасибо!

1 ответ

Такие функции, как SUBSTRING, нормально работают в PSQL.

Чтобы разделить эти адреса, предполагая, что каждый город заканчивается на ,, и каждое состояние заканчивается .

      SELECT 
    SUBSTRING(address,1,LOCATE(',',address)-1) as City,
    SUBSTRING(address,LOCATE(',',address)+1,LOCATE('.',address)-LOCATE(',',address)) as State, 
    SUBSTRING(address,LOCATE('.',address)+2,40)  as Zip
FROM (
   SELECT 'Tampa, FL. 33620' as address
   UNION
   SELECT 'Zephyrhills, FL. 33539') x

выход:

Другие вопросы по тегам