mysql

원하는 문자열 추출(숫자만 추출)

초이짬 2020. 9. 8. 15:22
728x90

ex) 대전 18번

    서울 20번

    대전 19~20번

    서울 30, 33번

    대전 22번, 45번

 

식의 데이터가 있다고 할때 

대전의 숫자 중 , 혹은 ~ 의 앞에꺼만 가져오고 싶을때 아래와 같이 한다. 해당 컬럼명은 route_persion 으로 한다.

 

, case when INSTR(route_persion,',') > 1 then regexp_replace(left(route_persion, INSTR(route_persion,',')),'[^0-9]+','')
    when INSTR(route_persion,'~') > 1 then regexp_replace(left(route_persion, INSTR(route_persion,'~')),'[^0-9]+','')
    ELSE regexp_replace((if(INSTR(route_persion,'대전') = 1, route_persion,0)),'[^0-9]+','') 
  END AS frout

728x90