본문 바로가기
SQL/Oracle

오라클 LIKE를 이용한 특정 문자 포함 검색방법

by wakestand 2020. 3. 24.
반응형

오라클 TB1 테이블에서

사람들의 이름(NAME)과 나이(AGE)

컬럼이 있는 것을 볼 수 있는데

 

LIKE를 사용해서

특정 문자를 포함하고 있을 경우에만

조회를 하려고 해 본다

 

LIKE는 WHERE절에서

WHERE 컬럼명 LIKE '%조건%'

와 같이 사용하는데

 

아래 예제를 통해 알아보자

 

SELECT * FROM TB1

WHERE NAME LIKE '%영희'

를 쓴 것이 보이는데

 

LIKE에서 %를 앞에만 붙여주면

컬럼 안의 데이터가 영희로 끝나는 값만 가져온다

 

LIKE '%값' 은

값으로 끝나는 경우에만 가져온다는 것!

 

SELECT * FROM TB1

WHERE NAME LIKE '박영%'

 

LIKE에서 %를 뒤에 붙여주면

컬럼 안의 데이터가 박영으로 시작하는 값만 가져온다

 

LIKE '값%' 은

값으로 시작하는 경우에만 가져온다는 것!

 

마지막으로

SELECT * FROM TB1

WHERE NAME LIKE '%영수%'

는 %를 앞 뒤에 모두 넣었는데

 

이러면 영수가 들어간 값을

위치에 상관없이 모두 가져오게 된다

 

LIKE '%값%' 은

값이 들어있으면 가져온다는 것!

 

이제 정리해보자면

오라클에서 조회(SELECT) 시

WHERE에 LIKE를 사용해서

특정 값이 포함된 경우만 조회할 수 있는데

 

WHERE 컬럼명 LIKE '%값%'

과 같이 사용하며

 

LIKE '%값'

은 값으로 끝나는 경우에만 가져오고

 

LIKE '값%'

은 값으로 시작하는 경우에만 가져오고

 

LIKE '%값%'

은 값이 들어있으면 가져오게 된다

 

예제에 사용한 쿼리는 아래와 같다

 

SELECT * FROM TB1
WHERE NAME LIKE '이%' -- 이로 시작하는 경우에만

SELECT * FROM TB1
WHERE NAME LIKE '%영희' -- 영희로 끝나는 경우에만

SELECT * FROM TB1
WHERE NAME LIKE '%영수%' -- 영수가 들어있을 경우
반응형

댓글