ใช้ 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 แทน