Seperti yang kita sedia maklum, operator NOT LIKE digunakan dengan watak WILDCARD untuk tidak mendapat rentetan dengan rentetan tertentu. Pada asasnya, kad bebas ialah aksara yang membantu mencari data yang sepadan dengan kriteria yang kompleks. Berikut ialah jenis kad bebas yang boleh digunakan dengan pengendali NOT LIKE:
Aksara kad bebas "%" digunakan untuk menentukan corak 0, 1 atau lebih aksara. Sintaks asas untuk menggunakan % kad bebas dengan pengendali TIDAK SUKA adalah seperti berikut:
Select Statement…Where column_name NOT LIKE ‘X%’
di mana X ialah sebarang corak permulaan yang ditentukan supaya satu aksara lebih dan % sepadan dengan sebarang bilangan aksara bermula dari 0 .
Peratusan '%' wildcard boleh digunakan dengan corak tertentu dalam pelbagai cara. Berikut adalah beberapa contoh yang menunjukkan operator NOT LIKE berbeza dengan %. Dalam contoh ini, X mewakili corak yang ditentukan:
1. Tidak seperti "X%" : ia akan menemui sebarang nilai dibahagikan dengan "X" yang bermula dengannya.
Contoh
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. Tidak seperti '%X': Ia akan menemui sebarang nilai dibahagikan dengan 'X' yang berakhir dengannya.
Contoh
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. Tidak seperti "%X%": Ia akan mencari sebarang nilai kecuali satu dengan "X" di mana-mana sahaja.
Contoh
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. TIDAK SEPERTI 'X%X': Ia akan mencari sebarang nilai selain daripada nilai yang bermula dengan "X" dan berakhir dengan "X".
Contoh
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)
Kad bebas garis bawah digunakan untuk memadankan tepat satu aksara. Sintaks asas untuk menggunakan _ wildcard dengan pengendali NOT LIKE adalah seperti berikut:
Pilih pernyataan...Di mana column_name NOT LIKE 'X_'
di sini X ialah sebarang corak permulaan yang ditentukan, cth aksara tunggal , _ sepadan dengan tepat satu aksara.
Kad bebas garis bawah "_" boleh digunakan bersendirian atau digabungkan dengan % untuk digabungkan dengan corak tertentu dalam pelbagai cara. Berikut adalah beberapa contoh yang menunjukkan operator NOT LIKE berbeza dengan %. Dalam contoh ini, X mewakili corak yang ditentukan:
1. Tidak seperti "X_": Ia akan mencari sebarang nilai kecuali nilai yang bermula dengan "X" dan diikuti oleh satu aksara sahaja.
Contoh
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. Tidak seperti "_X": Ia akan mencari sebarang nilai kecuali nilai yang berakhir dengan "X" dan didahului dengan hanya satu aksara.
Contoh
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. TIDAK SEPERTI _X%: Ia digunakan dalam kombinasi dengan % aksara kad bebas. Ia akan menemui sebarang nilai kecuali di mana terdapat X di kedudukan kedua.
Contoh
mysql> Select * from Student Where Name NOT LIKE '_a%'; Empty set (0.00 sec)
<强>4. Tidak seperti X_%_%: Ia digunakan bersama dengan % aksara kad bebas. Ia akan mencari sebarang nilai selain daripada satu yang bermula dengan X dan panjang sekurang-kurangnya tiga aksara.
Contoh
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)
Atas ialah kandungan terperinci Apakah aksara kad bebas yang berbeza yang boleh digunakan dengan pengendali NOT LIKE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!