2014-11-22 1 views
2

그래서이 열에는 거리 주소와 집 번호가 들어 있습니다. 둘 다 같은 열에 보관됩니다.Postgresql은 열의 문자 만 선택합니다.

예 :대로 123

지금 나는 "123"별도로 선택 문 물마루 "넓은 길"을 얻을 수 있도록 숫자에서 문자를 구분합니다.

reg 표현식을 사용하면 어떻게 할 수 있습니까? 이 일을

+0

? 그것은 세 번째 요소입니까? 아니면 그 번호에 속하는 것입니까? 아니면 처음 부분에? –

+0

반환해야 무엇 – RandomPerson

+0

그리고 무엇 물마루 @a_horse_with_no_name'대로 123 South' –

답변

0

한 가지 방법은 사전에

덕분에 공백 값을 분할 regexp_split_to_array을 사용하는 것입니다 :

SELECT address_arr[1] AS streer_name, address_arr[2] AS street_number 
FROM (SELECT REGEXP_SPLIT_TO_ARRY(address, ' ') AS address_arr 
     FROM my_table) t 
0

(가) 나를 위해 일한 다음.

select 
    substring(address from '\d+') as street_number, 
    substring(address from '[a-zA-Z\s]+') as street_name 
from addresses 
하나를 선택 문을 거리 이름과 집 번호는`South` 부분에 대한 또 다른 선택 문