Mo!
(SQL) 정규식 regexp_like() Oracle 본문
SQL

(SQL) 정규식 regexp_like() Oracle

5사 2021. 12. 13.

정규식 앵커(anchor)

 

연산자 단일행 방식 다중행 방식
^ (caret) 문자열의 시작 행의 시작
$ (dollar) 문자열의 끝 행의 끝

 

 

ex) abc 테이블에서 이름(sname)이 D로 시작하고 끝 철자가 N 또는 L로 끝나는 학생들의 이름을 출력하시오

 

-- SUBSTR() 사용

 

select sname
from abc
where substr(sname, 1, 1) = 'D' and substr(ename, -1, 1) in('N', 'L');

 

-- REGEXP_LIKE() 사용

 

select sname
from abc
where regexp_like(sname,  '^D(.)+N|L$');

 

-- ^D : D로 시작하는 것

-- (.)+ : .한 자리를 의미 (+) 여러 개를 의미 => 이 한자리가 여러 개 있음, 즉 D 다음에 여러 개의 철자가 올 수 있다

-- N|L$ : |는 or의 의미, $는 문자열의 끝

 

 

 

Comments