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

Bagaimana TIDAK REGEXP Bekerja di MySQL

Di MySQL, NOT REGEXP adalah negasi dari REGEXP operator.

Dengan kata lain, jika string cocok dengan ekspresi reguler yang diberikan, hasilnya adalah 0 , jika tidak maka 1 . Ini adalah hasil yang berlawanan dengan apa yang REGEXP akan kembali (bila tidak diawali dengan NOT ).

Sintaks

Sintaksnya seperti ini:

expr NOT REGEXP pat

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

Ini setara dengan melakukan hal berikut:

NOT (expr REGEXP pat)

Contoh 1 – Penggunaan Dasar

Berikut adalah contoh cara menggunakan ini dalam SELECT pernyataan:

SELECT 'Bread' NOT REGEXP '^Br' AS 'Result';

Hasil:

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

Di sini, polanya cocok jika string input dimulai dengan Br . Ya, tetapi karena kami menggunakan NOT REGEXP , kami mendapatkan hasil negatif (0 ).

Pernyataan di atas setara dengan melakukan ini:

SELECT NOT ('Bread' REGEXP '^Br') AS 'Result';

Hasil:

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

Contoh 2 – Dibandingkan dengan REGEXP

Agar lebih jelas, berikut ini kami bandingkan hasil dari REGEXP dan NOT REGEXP :

SELECT 
  'Bread' REGEXP '^Br' AS 'REGEXP',
  'Bread' NOT REGEXP '^Br' AS 'NOT REGEXP';

Hasil:

+--------+------------+
| REGEXP | NOT REGEXP |
+--------+------------+
|      1 |          0 |
+--------+------------+

Contoh 3 – Hasil Positif

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

SELECT 
  'Sofa' REGEXP '^Br' AS 'REGEXP',
  'Sofa' NOT REGEXP '^Br' AS 'NOT REGEXP';

Hasil:

+--------+------------+
| REGEXP | NOT REGEXP |
+--------+------------+
|      0 |          1 |
+--------+------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rekursi MySQL?

  2. Bagaimana cara saya terhubung ke Database MySQL dengan Python?

  3. Menghubungkan ke Database MySQL di .NET

  4. Ubah pemisah desimal di MySQL

  5. Apa yang DELIMITER // lakukan di Pemicu?