sql >> Database teknologi >  >> RDS >> Mysql

Hvordan IKKE REGEXP virker i MySQL

I MySQL, NOT REGEXP er en negation af REGEXP operatør.

Med andre ord, hvis strengen matcher det angivne regulære udtryk, er resultatet 0 , ellers er det 1 . Dette er det modsatte resultat af REGEXP ville returnere (når det ikke er præfikset med NOT ).

Syntaks

Syntaksen ser sådan ud:

expr NOT REGEXP pat

Hvor expr er inputstrengen og pat er det regulære udtryk, som du tester strengen for.

Det svarer til at gøre følgende:

NOT (expr REGEXP pat)

Eksempel 1 – Grundlæggende brug

Her er et eksempel på, hvordan du bruger dette i en SELECT erklæring:

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

Resultat:

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

Her matches mønsteret, hvis inputstrengen starter med Br . Det gør det, men fordi vi bruger NOT REGEXP , får vi et negativt resultat (0 ).

Ovenstående udsagn svarer til at gøre dette:

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

Resultat:

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

Eksempel 2 – Sammenlignet med REGEXP

For at gøre det klart, sammenligner vi her resultaterne fra REGEXP og NOT REGEXP :

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

Resultat:

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

Eksempel 3 – Et positivt resultat

De foregående eksempler resulterede i 0 for NOT REGEXP , fordi strengen gjorde faktisk matche mønsteret. Her er et eksempel, hvor vi får en 1 , som angiver, at strengen ikke match:

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

Resultat:

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

  1. Sammensætning af stakken - Forenkling af Docker-implementering af MySQL-containere

  2. Sådan kører du SHOW LOCALES i MariaDB

  3. Er der ANY_VALUE-kapacitet til mysql 5.6?

  4. Forståelse af SQL Server Lockdown til Secure Database Environment