NOT LIKE 연산자는 지정된 문자열을 갖는 문자열을 가져오지 않기 위해 WILDCARD 문자와 함께 사용된다는 것을 알고 있습니다. 기본적으로 WILDCARD는 복잡한 기준과 일치하는 데이터를 검색하는 데 도움이 되는 문자입니다. 다음은 NOT LIKE 연산자와 함께 사용할 수 있는 와일드카드 유형입니다.
% - 백분율
'%' 와일드카드는 0, 1 또는 그 이상의 문자 패턴을 지정하는 데 사용됩니다. NOT LIKE와 함께 % 와일드카드를 사용하기 위한 기본 구문 연산자는 다음과 같습니다.
Select Statement…Where column_name NOT LIKE ‘X%’
여기 X more의 단일 문자와 같은 지정된 시작 패턴이고 %는 0부터 시작하는 임의의 수의 문자와 일치합니다.
백분율 '%' 와일드카드는 여러 가지 방법으로 지정된 패턴을 사용할 수 있습니다. 다음은 %가 있는 다양한 NOT LIKE 연산자를 보여주는 몇 가지 예입니다. 다음 예에서 X는 지정된 패턴을 나타냅니다.
1. 'X%'가 아님 :"X"로 시작하는 값 이외의 값을 찾습니다.
예
mysql> Select * from Student Where Name NOT LIKE 'a%'; +------+---------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+---------+---------+-----------+--------------------+ | 1 | Gaurav | Delhi | Computers | 2001 | | 15 | Harshit | Delhi | Commerce | 2009 | | 20 | Gaurav | Jaipur | Computers | 2017 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+-----------+--------------------+ 4 rows in set (0.00 sec)
2. '%X'와는 다릅니다: "X"로 끝나는 값 이외의 값을 찾습니다.
예
mysql> Select * from Student Where Name NOT LIKE '%v'; +------+---------+---------+----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+---------+---------+----------+--------------------+ | 15 | Harshit | Delhi | Commerce | 2009 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+----------+--------------------+ 2 rows in set (0.00 sec)
3. '%X%'가 아님: 모든 위치에 "X"가 있는 값이 아닌 다른 값을 찾습니다.
예
mysql> Select * from Student Where Name NOT LIKE '%h%'; +------+--------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+--------+---------+-----------+--------------------+ | 1 | Gaurav | Delhi | Computers | 2001 | | 2 | Aarav | Mumbai | History | 2010 | | 20 | Gaurav | Jaipur | Computers | 2017 | +------+--------+---------+-----------+--------------------+ 3 rows in set (0.00 sec)
4. 'X%X'가 아님 : "X"로 시작하고 "X"로 끝나는 값 이외의 값을 찾습니다.
예
mysql> Select * from Student Where Name NOT LIKE 'a%v'; +------+---------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+---------+---------+-----------+--------------------+ | 1 | Gaurav | Delhi | Computers | 2001 | | 15 | Harshit | Delhi | Commerce | 2009 | | 20 | Gaurav | Jaipur | Computers | 2017 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+-----------+--------------------+ 4 rows in set (0.00 sec)
_ 밑줄
밑줄 와일드카드는 정확히 하나의 문자를 일치시키는 데 사용됩니다. NOT LIKE와 함께 _ 와일드카드를 사용하기 위한 기본 구문 연산자는 다음과 같습니다.
Select 문... 여기서 column_name NOT LIKE 'X_'
여기 X more의 단일 문자와 같은 지정된 시작 패턴이고 _는 정확히 하나의 문자와 일치합니다.
밑줄 '_' 와일드카드는 단독으로 또는 %와 함께 지정된 패턴과 함께 여러 가지 방법으로 사용할 수 있습니다. 다음은 %가 있는 다양한 NOT LIKE 연산자를 보여주는 몇 가지 예입니다. 다음 예에서 X는 지정된 패턴을 나타냅니다.
1. 'X_'가 아님: "X"로 시작하고 X 다음에 정확히 한 문자가 있는 값 이외의 값을 찾습니다.
예
mysql> Select * from Student Where Year_of_Admission NOT LIKE '200_'; +------+--------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_admission | +------+--------+---------+-----------+--------------------+ | 2 | Aarav | Mumbai | History | 2010 | | 20 | Gaurav | Jaipur | Computers | 2017 | +------+--------+---------+-----------+--------------------+ 2 rows in set (0.00 sec)
2. '_X'가 아님: 끝이 "X"이고 X 앞에 정확히 한 문자가 있는 값을 제외한 모든 값을 찾습니다.
예
mysql> Select * from Student Where Year_of_Admission NOT LIKE '_017'; +------+---------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_admission | +------+---------+---------+-----------+--------------------+ | 1 | Gaurav | Delhi | Computers | 2001 | | 2 | Aarav | Mumbai | History | 2010 | | 15 | Harshit | Delhi | Commerce | 2009 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+-----------+--------------------+ 4 rows in set (0.00 sec)
3. _X%가 아닙니다: % 와일드카드와 함께 사용됩니다. 두 번째 위치에 X가 있는 값 이외의 값을 찾습니다.
예
mysql> Select * from Student Where Name NOT LIKE '_a%'; Empty set (0.00 sec)
4. X_%_%와 같지 않음: % 와일드카드와 함께 사용됩니다. X로 시작하고 길이가 3자 이상인 값을 제외한 모든 값을 찾습니다.
예
mysql> Select * from Student Where Name NOT LIKE 'g_%_%'; +------+---------+---------+----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+---------+---------+----------+--------------------+ | 2 | Aarav | Mumbai | History | 2010 | | 15 | Harshit | Delhi | Commerce | 2009 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+----------+--------------------+ 3 rows in set (0.00 sec)