postgresql 쿼리 질문 드립니다. 0 1 1,269

by 웅아 [2022.06.29 12:48:48]


이미지 3.png (8,273Bytes)

pg : PostgreSQL 12.6

아래와 같이 ADDR_CLAS1에 주소가 스페이스로 구분되어서 들어오면

ADDR_CLAS1 / ADDR_CLAS2 / ADDR_CLAS3

서울특별시   / 종로구         / 청운동 

이런식으로 ADDR_ECLS1 기준으로 한줄로 되어있는 주소를 스페이스로 구분하여 최대 1~5 까지 행으로 이동시키고 싶습니다.

 

별에별 방법을 다 동원하고 있는데 쉽지 않네요 고수님들 도와주세요!

┏---------------------------------------------------------------------------------------------------------------------------------┓
┃ADDR_ECLS1    ADDR_CLAS1                  ADDR_CLAS2    ADDR_CLAS3    ADDR_CLAS4    ADDR_CLAS5    ABL_YN┃
┣---------------------------------------------------------------------------------------------------------------------------------┫
┃1111010100    서울특별시 종로구 청운동    [NULL]        [NULL]        [NULL]        [NULL]        [NULL]                  ┃
┃1111010200    서울특별시 종로구 신교동    [NULL]        [NULL]        [NULL]        [NULL]        [NULL]                  ┃ 
┃1111010300    서울특별시 종로구 궁정동    [NULL]        [NULL]        [NULL]        [NULL]        [NULL]                  ┃
┗---------------------------------------------------------------------------------------------------------------------------------┛

 

CREATE TABLE public.tp_mdaddr (
    addr_ecls1 varchar(40) NOT NULL,
    addr_clas1 varchar(200) NULL,
    addr_clas2 varchar(200) NULL,
    addr_clas3 varchar(200) NULL,
    addr_clas4 varchar(200) NULL,
    addr_clas5 varchar(200) NULL,
    abl_yn varchar(10) NULL,
    CONSTRAINT pk_tp_mdaddr PRIMARY KEY (addr_ecls1)
);
 

 

 

by 웅아 [2022.06.29 13:32:47]

자체 해결 되었습니다.

SELECT ADDR_ECLS1
     , SPLIT_PART(ADDR_CLAS1,' ', 1) AS ADDR_CLAS1
     , SPLIT_PART(ADDR_CLAS1,' ', 2) AS ADDR_CLAS2
     , SPLIT_PART(ADDR_CLAS1,' ', 3) AS ADDR_CLAS3
     , SPLIT_PART(ADDR_CLAS1,' ', 4) AS ADDR_CLAS4
     , SPLIT_PART(ADDR_CLAS1,' ', 5) AS ADDR_CLAS5
     , ABL_YN
  FROM TP_MDADDR

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입