Computer >> Máy Tính >  >> Lập trình >> MySQL

Các ký tự đại diện khác nhau có thể được sử dụng với toán tử NOT LIKE là gì?

Như chúng ta biết rằng toán tử NOT LIKE được sử dụng cùng với các ký tự WILDCARD để không nhận được chuỗi có chuỗi được chỉ định. Về cơ bản, WILDCARD là các ký tự giúp tìm kiếm dữ liệu phù hợp với các tiêu chí phức tạp. Theo dõi là các loại ký tự đại diện có thể được sử dụng cùng với toán tử NOT LIKE:

% - Phần trăm

Ký tự đại diện ‘%’ được sử dụng để chỉ định một mẫu gồm 0, 1 hoặc nhiều ký tự. Cú pháp cơ bản để sử dụng ký tự đại diện% với KHÔNG THÍCH toán tử như sau:

Select Statement…Where column_name NOT LIKE ‘X%’

Đây X là bất kỳ mẫu bắt đầu nào được chỉ định, chẳng hạn như ký tự đơn của nhiều hơn và% khớp với bất kỳ số ký tự nào bắt đầu từ 0.

Ký tự đại diện phần trăm ‘%’ có thể có nhiều cách với mẫu được chỉ định. Tiếp theo là một số ví dụ hiển thị các toán tử KHÔNG THÍCH khác nhau với%. Ở đây trong các ví dụ này, X đại diện cho mẫu được chỉ định:

1. KHÔNG THÍCH ‘X%’ :Nó sẽ tìm bất kỳ giá trị nào khác với giá trị bắt đầu bằng “X”.

Ví dụ

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. KHÔNG THÍCH ‘% X’: Nó sẽ tìm thấy bất kỳ giá trị nào khác với giá trị kết thúc bằng “X”.

Ví dụ

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. KHÔNG THÍCH ‘% X%’: Nó sẽ tìm thấy bất kỳ giá trị nào khác ngoài giá trị có “X” ở bất kỳ vị trí nào.

Ví dụ

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. KHÔNG THÍCH ‘X% X’ : Nó sẽ tìm bất kỳ giá trị nào khác với giá trị bắt đầu bằng “X” và kết thúc bằng “X”.

Ví dụ

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)

_ Dấu gạch dưới

Ký tự đại diện gạch dưới được sử dụng để khớp chính xác một ký tự. Cú pháp cơ bản để sử dụng ký tự đại diện _ với KHÔNG THÍCH toán tử như sau:

Chọn Tuyên bố… Trong đó column_name KHÔNG THÍCH ‘X_’

Đây X là bất kỳ mẫu bắt đầu nào được chỉ định, chẳng hạn như ký tự đơn của nhiều hơn và _ khớp chính xác với một ký tự.

Ký tự đại diện ‘_’ gạch dưới có thể được sử dụng, một mình hoặc kết hợp với%, theo nhiều cách với mẫu được chỉ định. Tiếp theo là một số ví dụ hiển thị các toán tử KHÔNG THÍCH khác nhau với%. Ở đây trong các ví dụ này, X đại diện cho mẫu được chỉ định:

1. KHÔNG THÍCH ‘X_’: Nó sẽ tìm thấy bất kỳ giá trị nào khác với giá trị bắt đầu bằng “X” và có chính xác một ký tự sau X.

Ví dụ

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. KHÔNG THÍCH ‘_X’: Nó sẽ tìm bất kỳ giá trị nào khác với giá trị đó kết thúc bằng “X” và có chính xác một ký tự trước X.

Ví dụ

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. KHÔNG THÍCH _X%: Nó được kết hợp với% ký tự đại diện. Nó sẽ tìm bất kỳ giá trị nào khác ngoài giá trị có X ở vị trí thứ hai.

Ví dụ

mysql> Select * from Student Where Name NOT LIKE '_a%';
Empty set (0.00 sec)

4. KHÔNG THÍCH X _% _%: Nó được kết hợp với% ký tự đại diện. Nó sẽ tìm bất kỳ giá trị nào khác với giá trị bắt đầu bằng X và độ dài ít nhất ba ký tự.

Ví dụ

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)