본문 바로가기
DataBase

[postgreSQL][데이터 필터링]LIKE연산자

by 바까 2021. 9. 13.
반응형
--6)LIKE연산자
--특정 집합에서 어떠한 컬럼의 값이 특정 값과 유사한 패턴을 갖는 집합을 출력하는 연산자.
--출력값 true/false
--(1)LIKE연산자 문법
--SELECT *
--FROM TABLE_NAME
--WHERE COLUMN_NAME
--	LIKE 특정패턴			--COLUMN_NAME 컬럼의 값이 특정 패턴과 유사한 집합을 출력

--SELECT *
--FROM TABLE_NAME
--WHERE COLUMN_NAME
--	NOT LIKE 특정패턴		--COLUMN_NAME 컬럼의 값이 특정 패턴과 유사하지 않은 집합을 출력

--특정 패턴에서 '%'는 어떤 문자 혹은 문자열이든지 매칭 되었다고 판단.
--특정 패턴에서 '_'는 한개의 문자가 어떤 문자이든지 매칭 되었다고 판단.

select FIRST_NAME, last_NAME
from customer c 
where first_name like 'Jen%'; --first_name이 Jen으로 시작하는 집합을 출력, 즉 jen 이후의 문자 혹은 문자열은 모두 매칭

select 
	'FOO' like 'FOO',	--FOO는 FOO이므로 참
	'FOO' like 'F%',	--F%는 F로 시작하면 모두 참
	'FOO' like '_O_',	--_O_는 3자리 문자열이고 가운데 문자가 O이라면 모두 참
	'BAR' like 'B_';	--B_는 2자리 문자열이고 B로 시작하기만 하면 두번째 문자는 무엇이든 간에 참이다.
						--하지만 BAR는 B로 시작하긴 했지만 3자리므로 거짓

select FIRST_NAME, last_NAME
from customer c 
where first_name like '%er%'; --양쪽으로 올 수 도 있음

select FIRST_NAME, last_NAME
from customer c 
where first_name like '_her%'; --첫번째 문자가 어떤 문자로 시작 가능하지만 그다음이 her이어야하고 그 다음 문자혹은 문자열이 무엇이어도 상관없는 집합 출력

select FIRST_NAME, last_NAME
from customer c 
where first_name not like 'Jen%'; ----first_name이 Jen으로 시작하지 않은 집합을 출력
반응형

댓글