Databases/MySQL
[MySQL] substring_index()으로 특정 문자열만 추출하는 SQL 구문
c0desway
2013. 2. 14. 16:33
아래를 보면 fruit라는 컬럼에 다음과 같은 형태로 저장되고 있다.
fruit |
k34ea23&tesdftest$name=apple&t34sest$te^Fdddgft |
34hjesjttest$name=banana&t325hukis2st567^%$t |
test&rrt45ttest$name=strawberry&te3ktefdfghtttest |
각 행마다 추출하고자 하는 과일 이름(apple, banana, strawbery)이 있고, 해당 문자열 전/후로 일정한 형태의 문자열($name=, &)도 같이 저장되고 있다고 가정한다.
이 경우 substring_index() 로 $name= 앞의 모든 문자열을 삭제 하고 한번 더 substring_index()를 사용하여 & 뒤의 문자열을 모두 삭제하면 원하는 문자열만 추출이 가능하다.
이때, 원하는 문자열 전/후 문자는 unique 해야 한다.
[SQL]
select substring_index(substring_index(<colum_name>, '<front_unique_str>', -1), '<rear_unique_str>', 1) as name from table_name