sql >> Database >  >> RDS >> MariaDB

Hoe NIET REGEXP werkt in MariaDB

In MariaDB, de NOT REGEXP operator is een ontkenning van de REGEXP telefoniste.

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 je de string test.

Het is het equivalent van het volgende doen:

NOT (expr REGEXP pat)

Voorbeeld

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

SELECT 'Bread' NOT REGEXP '^Br';

Resultaat:

+--------------------------+
| 'Bread' NOT REGEXP '^Br' |
+--------------------------+
|                        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');

Resultaat:

+----------------------------+
| NOT ('Bread' REGEXP '^Br') |
+----------------------------+
|                          0 |
+----------------------------+

Vergeleken met REGEXP

In dit voorbeeld vergelijken we 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 |
+--------+------------+

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. Hoe kan ik zien welke transactie een vergrendelingsstatus Wachten op tabelmetagegevens veroorzaakt?

  2. SQL Ontbrekend haakje op volgorde per instructie

  3. Strings samenvoegen in SQL Server met CONCAT()

  4. Entity Framework 6 - Timing-query's