Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

กรองข้อมูลในตาราง MySQL เพื่อกำจัดแถวเฉพาะด้วย NOT LIKE

ใช้ NOT LIKE กรองข้อมูลที่ไม่ตรงกับรูปแบบ

mysql> CREATE TABLE DemoTable (
    -> StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> StudentName VARCHAR(20),
    -> StudentAdmissionYear VARCHAR(20)
    -> );
Query OK, 0 rows affected (1.22 sec)
mysql> INSERT INTO DemoTable(StudentName, StudentAdmissionYear) VALUES('Chris', '2017');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable(StudentName, StudentAdmissionYear) VALUES('David', '2015');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable(StudentName, StudentAdmissionYear) VALUES('Bob', '2019');
Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO DemoTable(StudentName, StudentAdmissionYear) VALUES('Carol', '2015');
Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO DemoTable(StudentName, StudentAdmissionYear) VALUES('Sam', '2018');
Query OK, 1 row affected (0.12 sec)
mysql> SELECT * FROM DemoTable;
+-----------+-------------+----------------------+
| StudentId | StudentName | StudentAdmissionYear |
+-----------+-------------+----------------------+
|         1 | Chris       | 2017                 |
|         2 | David       | 2015                 |
|         3 | Bob         | 2019                 |
|         4 | Carol       | 2015                 |
|         5 | Sam         | 2018                 |
+-----------+-------------+----------------------+
5 rows in set (0.00 sec)

กรองเอาเฉพาะที่ปีเข้าไม่ใช่ 2015:

mysql> SELECT * FROM DemoTable WHERE StudentAdmissionYear NOT LIKE '%2015%';
+-----------+-------------+----------------------+
| StudentId | StudentName | StudentAdmissionYear |
+-----------+-------------+----------------------+
|         1 | Chris       | 2017                 |
|         3 | Bob         | 2019                 |
|         5 | Sam         | 2018                 |
+-----------+-------------+----------------------+
3 rows in set (0.04 sec)

หมายเหตุ: NOT LIKE '%2015%' ไม่ใช้ดัชนีได้ หากคอลัมน์เป็น INT ควรใช้ StudentAdmissionYear != 2015 แทน