[ mysql ] LIKE 연산자

JooKit 주킷 2021. 9. 1. 20:45
목차 접기
728x90
반응형
SELECT 
'hello' LIKE 'he%',      -- he로 시작하는 단어인지
'hello' LIKE 'hel%',     -- hel로 시작하는 단어인지
'hello' LIKE 'H%O',      -- h로 시작하고 o로 끝나는 단어인지
'hello' LIKE '%l%',      -- 단어 중간에 l 이 존재하는 단어인지
'hello' LIKE '%HELLO%',  -- hello 앞, 뒤에 다른 문자가 있을 수 있는 
'hello' LIKE '%H',          -- h로 끝나는 단어인지
'hello' LIKE 'l%';          -- l로 시작하는 단어인지

출력 : 1, 1, 1, 1, 1, 0, 0

 

 

 

SELECT * 
FROM Customers
WHERE CustomerName LIKE 'b%';

의미 : b로 시작하는 CustomerName들의 데이터들을 모두 보여준다.

 

 

 

SELECT 
'hello' LIKE 'h___o',
 'hello' LIKE 'h_l__',
'hello' LIKE '__o',
'hello' LIKE '_____',
'hello' LIKE '_hello';

출력 : 1, 1, 0, 1, 0
의미 : 언더바의 경우 글자 수를 맞춰주어야 한다.
%과 다르게 글자수를 맞춰주지 않으면 거짓이다.

 

 

 

SELECT * 
FROM Employees
WHERE Notes LIKE '%economics%';

의미 : Employees 테이블에 Notes 내용 중
economics 단어를 포함한 사람들을 조회하고 싶다는 의미이다.
economics 단어 앞, 뒤로 다른 단어들로 조합된 문장을 가진
사람의 데이터들을 보여준다.

 

 

 

SELECT * 
FROM Employees
WHERE Notes LIKE 'Education%';

의미 : Notes의 내용이 Education으로 시작하는 사람들만 조회해준다.

 

 

 

 

SELECT * 
FROM OrderDetails
WHERE OrderID LIKE '1025_';

의미 : OrderDetails 테이블에서
OrderID가 1025 다음에 숫자가 1개 오는 데이터들을 보여준다.
언더바는 %와 다르게 문자 개수를 의미한다.

 

 

mysql에서는 데이터 값이 숫자이더라도
문자열로 조회하면 숫자의 경우는 자동으로 숫자로 인식해서
문자열로 입력한 숫자와 동일한 데이터 값을 출력해준다.

728x90
반응형
LIST