Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana TIDAK RLIKE Bekerja di MySQL

Di MySQL, NOT RLIKE adalah negasi dari RLIKE operator.

Dengan kata lain, kapan saja RLIKE operator akan mengembalikan 1 , NOT RLIKE akan mengembalikan 0 .

Sintaks

Sintaksnya seperti ini:

expr NOT RLIKE pat

Dimana expr adalah string input dan pat adalah ekspresi reguler yang Anda uji stringnya.

Ini setara dengan melakukan hal berikut:

NOT (expr RLIKE pat)

Contoh 1 – Penggunaan Dasar

Berikut ini contoh penggunaan ini dalam SELECT pernyataan:

SELECT 'Coffee' NOT RLIKE '^C.*e$' AS 'Result';

Hasil:

+--------+
| Result |
+--------+
|      0 |
+--------+

Di sini, polanya cocok jika string input dimulai dengan C dan diakhiri dengan e . Ya, tetapi karena kami menggunakan NOT RLIKE , kami mendapatkan hasil negatif (0 ).

Pernyataan di atas setara dengan melakukan ini:

SELECT NOT ('Coffee' RLIKE '^C.*e$') AS 'Result';

Hasil:

+--------+
| Result |
+--------+
|      0 |
+--------+

Contoh 2 – Dibandingkan dengan RLIKE

Di sini kami membandingkan hasil dari RLIKE dengan NOT RLIKE :

SELECT 
  'Coffee' RLIKE '^C.*e$' AS 'RLIKE',
  'Coffee' NOT RLIKE '^C.*e$' AS 'NOT RLIKE';

Hasil:

+-------+-----------+
| RLIKE | NOT RLIKE |
+-------+-----------+
|     1 |         0 |
+-------+-----------+

Contoh 3 – Hasil Positif

Contoh sebelumnya menghasilkan 0 untuk NOT RLIKE , karena string dilakukan benar-benar cocok dengan polanya. Berikut ini contoh di mana kita mendapatkan 1 , yang menunjukkan bahwa string tidak cocok:

SELECT 
  'Funny' RLIKE '^C.*e$' AS 'RLIKE',
  'Funny' NOT RLIKE '^C.*e$' AS 'NOT RLIKE';

Hasil:

+-------+-----------+
| RLIKE | NOT RLIKE |
+-------+-----------+
|     0 |         1 |
+-------+-----------+

Alternatif

MySQL mencakup banyak fungsi dan operator yang pada dasarnya melakukan hal yang sama, dan ini juga berlaku untuk NOT RLIKE .

Pertama, RLIKE adalah sinonim dari REGEXP_LIKE() fungsi (seperti REGEXP ).

Kedua, NOT RLIKE setara dengan NOT REGEXP .

Ketiga, RLIKE , REGEXP , dan REGEXP_LIKE() dapat dinegasikan hanya dengan menggunakan NOT operator logika.

Oleh karena itu, semua yang berikut ini setara:

expr NOT RLIKE pat
expr NOT REGEXP pat
NOT (expr RLIKE pat)
NOT (expr REGEXP pat)
NOT REGEXP_LIKE(expr, pat)

Dan inilah contoh untuk ditunjukkan:

SELECT 
  'Car' NOT RLIKE '^C' AS 'Result 1',
  'Car' NOT REGEXP '^C' AS 'Result 2',
  NOT ('Car' RLIKE '^C') AS 'Result 3',
  NOT ('Car' REGEXP '^C') AS 'Result 4',
  NOT REGEXP_LIKE('Car', '^C') AS 'Result 5';

Hasil:

+----------+----------+----------+----------+----------+
| Result 1 | Result 2 | Result 3 | Result 4 | Result 5 |
+----------+----------+----------+----------+----------+
|        0 |        0 |        0 |        0 |        0 |
+----------+----------+----------+----------+----------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL menghitung semua baris alih-alih menghitung baris individual

  2. Kinerja UUID di MySQL?

  3. Bagaimana saya bisa membuat penginstal untuk situs web. PHP mysql

  4. Pembandingan Kinerja MySQL:MySQL 5.7 vs MySQL 8.0

  5. Cara menulis string UTF-8 dengan benar ke MySQL melalui antarmuka JDBC