Разделить колонку на 2 кломуна, используя запятую в качестве разделителя - PullRequest
1 голос
/ 04 апреля 2020

У меня есть таблица listings:

location (Primary Key)

Chicago, USA
New York, USA
Paris, France

Формат строго

City, Country

Такой же как:

<City><comma><single_space><Country>

Я хочу 2 столбца из location (используя запятые в качестве разделителя) как:

city      country

Chicago   USA
New York  USA
Paris     France

1 Ответ

2 голосов
/ 04 апреля 2020

В MySQL вы можете использовать substring_index() для этого:

select 
    location,
    substring_index(location, ', ', 1) city, 
    substring_index(location, ', ', -1) country
from listings 

Демонстрация на DB Fiddle :

location      | city     | country
:------------ | :------- | :------
Chicago, USA  | Chicago  | USA    
New York, USA | New York | USA    
Paris, France | Paris    | France 

Если вам нужен оператор update:

update listings
set 
    city = substring_index(location, ', ', 1), 
    country = substring_index(location, ', ', -1)
...