비투엔 라이프/스토리

재미삼아 풀어보는 SQL 작성 QUIZ! 문제풀이

알 수 없는 사용자 2016. 4. 29. 14:39



 문제풀이 


1. COLUMN_NAME언더바(_)갯수를 구하고 그 개수만큼 ROW를 복제한다.

1. 오라클 정규식을 사용하여 언더바 갯수를 구하기
REGEXP_COUNT(SOURCE_CHAR,  PATTERN) 
  : source_char에서 해당하는 pattern이 몇 번 나오는지 세어주는 함수
2. 언더바 갯수만큼 ROW 복제
1.CONNECT BY LEVEL 를 이용해서 ROW를 생성한다.
2.부등호 조인을 통해서 언더바 갯수만큼 ROW를 복제한다.


2.언더바 기준으로 문자를 나눈다.
1. 오라클 정규식을 사용하여 문자 나누기
- REGEXP_SUBSTR(SOURCS_CHAR, PATTERN, POSITION, OCCURRENCE) 
  : source_char에서  주어진 pattern에 해당하는 문자열을 리턴한다.
  : position은 검색하는 문자열의 위치를 지정
  : occurrencepattern 발생 횟수를 지정

- REGEXP_SUBSTR(COLUMN_NAME, '[^_]+',1,LV) : 언더바로 시작하는 부분을 자르게 된다.