정규식 함수의 기초
내가 가지고 있는 수만개의 데이터중 한개의 PHONENUMBER 컬럼에 대해, 알파벳이 섞여있는 ROW를 출력하려고 한다.
만약 이것을 단순히 생각했을 경우,
1 2 3 4 5 6 7 | SELECT * FROM TABLE WHERE PHONE_NUMBER LIKE '%A%' OR PHONE_NUMBER LIKE '%B%' OR ... ... OR PHONE_NUMBER LIKE '%Z%'; | cs |
이러한 방법으로 쓰는 경우가 있다.
하지만 정규식을 쓴다면
1 2 3 | SELECT * FROM TABLE WHERE REGEXP_LIKE(PHONE_NUMBER,'[[:alpha:]]'); | cs |
위와 같이 간단한 방법으로 확인을 할 수가 있다.
다음은 정규식을 이용한 예시이다.
1 2 3 | SELECT * FROM EMP WHERE REGEXP_LIKE(ENAME, '^(S|A)'); | cs |
다음은 특정 문자의 갯수를 찾는 정규식 함수의 예시이다.
1 2 | SELECT SUM(REGEXP_COUNT(TEXT,'America')) FROM KEYNOTE; | cs |
#########내용보충필요#########
SQL을 배운지 얼마 되지 않아 잘못된 내용이 있을 수 있습니다. 틀린 내용이있다면, 댓글로 달아주세요.
'DATABASE(oracleDB 11g) > SQL' 카테고리의 다른 글
[SQL]분석 함수 활용 (0) | 2019.02.15 |
---|---|
[SQL]동의어 기초 (0) | 2019.02.14 |
[SQL]INDEX의 기초 (0) | 2019.02.14 |
[SQL]SEQUENCE(시퀀스)의 기초 (0) | 2019.02.14 |
[SQL]EXISTS 의 보충 (0) | 2019.02.11 |