sql >> Database >  >> RDS >> Mysql

Hoe NIET REGEXP werkt in MySQL

In MySQL, NOT REGEXP is een ontkenning van de REGEXP telefoniste.

Met andere woorden, als de tekenreeks overeenkomt met de opgegeven reguliere expressie, is het resultaat 0 , anders is het 1 . Dit is het tegenovergestelde resultaat van wat de REGEXP zou terugkeren (wanneer het niet wordt voorafgegaan door NOT ).

Syntaxis

De syntaxis gaat als volgt:

expr NOT REGEXP pat

Waar expr is de invoerreeks en pat is de reguliere expressie waarvoor u de string test.

Het is het equivalent van het volgende doen:

NOT (expr REGEXP pat)

Voorbeeld 1 – Basisgebruik

Hier is een voorbeeld van hoe je dit kunt gebruiken in een SELECT verklaring:

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

Resultaat:

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

Hier komt het patroon overeen als de invoerreeks begint met Br . Ja, maar omdat we NOT REGEXP gebruiken , krijgen we een negatief resultaat (0 ).

De bovenstaande verklaring is het equivalent van dit te doen:

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

Resultaat:

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

Voorbeeld 2 – Vergeleken met REGEXP

Om het duidelijk te maken, vergelijken we hier de resultaten van REGEXP en NOT REGEXP :

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

Resultaat:

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

Voorbeeld 3 – Een positief resultaat

De vorige voorbeelden resulteerden in 0 voor NOT REGEXP , omdat de string deed echt overeenkomen met het patroon. Hier is een voorbeeld waarbij we een 1 . krijgen , wat aangeeft dat de tekenreeks niet wedstrijd:

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

Resultaat:

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

  1. stel een leeg wachtwoord in voor PostgreSQL-gebruiker

  2. Inloggen mislukt voor gebruiker 'DOMAIN\MACHINENAME$'

  3. Begin met hoofdletter. MySQL

  4. Een gids voor Pgpool voor PostgreSQL:deel twee