Я видел это решение для данных, которые всегда имеют запятые, но, кажется, не могут заставить это работать, когда нет запятых.
Данные поступают из поля "location", которое выглядит следующим образом ... (где некоторые данные - "город, штат", а другие строки - "штат" без указания города).
[location_str]
Boston, MA
Miami, FL
MO
AK
Fairbanks, AK
Я пытаюсь получить их в два столбца [Город] и [ State].
Этот код почти работает ...
SELECT REGEXP_SUBSTR (location_str, '[^,]+', 1, 1) AS City,
REGEXP_SUBSTR (location_str, '[^,]+', 1, 2) AS State
FROM Locations_Table
Результат ...
[City] [State]
Boston MA
Miami FL
MO NULL
AK NULL
Fairbanks AK
Это близко, мне просто нужны строки с STATE только и без запятых в столбце [State] и для NULL в столбце [City].
Последний маленький момент - как очистить данные location_str, которые содержат конечные и ведущие пробелы в базе данных (сгенерированные где-то еще).
[location_str]
" Fairbanks, AK"
"Fairbanks, AK "
"DC"
"DC "
"DC "
Я могу попробовать это завтра, но могу ли я обернуть REGEXP_SUBSTR в забаву TRIM c? будет ли работать над этим ...
TRIM(REGEXP_SUBSTR (location_str, '[^,]+', 1, 1)) AS City