/* %는 임의의 수의 문자를 의미한다.
특정 문자열을 포함한 열을 찾고 싶을 때 사용한다. */
SELECT prod_id, prod_name
FROM Products
WHERE prod_name LIKE 'Fish%';
SELECT prod_id, prod_name
FROM Products
WHERE prod_name LIKE '%bean bag%';
/* _ 와일드카드는 단 한 개의 문자를 대신한다.
Db2에서는 _ 와일드카드가 지원되지 않는다. */
SELECT prod_id, prod_name
FROM Products
WHERE prod_name LIKE '__ inch teddy bear%';
/* [] 와일드카드는 문자들을 하나의 집합으로 지정해 사용하는데,
이들 문자 중 하나는 지정된 위치(와일드카드가 지정한)의 문자와 반드시 일치하는 검색 결과를 가져온다.
집합 와일드카드는 일반적으로 지원되지 않으므로 DBMS 매뉴얼을 확인해야한다. */
SELECT cust_contact
FROM Customers
WHERE cust_contact LIKE '[JM]%'; -- J또는 M으로 시작하는 연락처 찾기
WHERE cust_contact LIKE '[^JM]%'; -- J또는 M으로 시작하지 않는 연락처 찾기
(= WHERE NOT cust_contact LIKE '[JM]%;)
후행 공백에 주의하자
예를 들어 50개의 문자를 넣을 수 있는 열에 길이가 17인 문자열을 저장하면, 열을 채우기 위해 33개의 공백이 추가될 수 있다.
문자열을 검색할 때 값에 공백이 추가되었다면, 끝나는 값이 공백이 되므로 검색패턴에 %를 추가하거나 함수를 이용해 공백을 제거한다.
✔️ 와일드카드 사용 팁