Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

NOT LIKE 연산자와 함께 사용할 수 있는 다른 와일드카드 문자는 무엇입니까?

<시간/>

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)