MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Как NOT REGEXP работи в MariaDB

В MariaDB NOT REGEXP операторът е отрицание на REGEXP оператор.

Ако низът съвпада с предоставения регулярен израз, резултатът е 0 , в противен случай е 1 . Това е обратният резултат на този в REGEXP ще се върне (когато не е с префикс NOT ).

Синтаксис

Синтаксисът е така:

expr NOT REGEXP pat 

Където expr е входният низ и pat е регулярният израз, срещу който тествате низа.

Това е еквивалентно да направите следното:

NOT (expr REGEXP pat) 

Пример

Ето пример за това как да използвате това в SELECT изявление:

SELECT 'Bread' NOT REGEXP '^Br'; 

Резултат:

+-------------------------+| 'Хляб' НЕ REGEXP '^Br' |+--------------------------+| 0 |+-------------------------+

Тук шаблонът се съпоставя, ако входният низ започва с Br . Така е, но защото използваме NOT REGEXP , получаваме отрицателен резултат (0 ).

Горното твърдение е еквивалентно на това:

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

Резултат:

+----------------------------+| НЕ („Хляб“ REGEXP „^Br“) |+----------------------------+| 0 |+----------------------------+

В сравнение с REGEXP

В този пример сравняваме резултатите от REGEXP и NOT REGEXP :

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

Резултат:

<пред>+--------+-----------+| REGEXP | НЕ REGEXP |+--------+-----------+| 1 | 0 |+-------+------------+

Положителен резултат

Предишните примери доведоха до 0 за NOT REGEXP , защото низът направи всъщност съвпадат с модела. Ето пример, в който получаваме 1 , което показва, че низът не съвпадение:

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

Резултат:

<пред>+--------+-----------+| REGEXP | НЕ 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. Възстановяване на екземпляр на mySQL от друг потребителски акаунт (macOS)

  2. Поправете „ГРЕШКА 1222 (21000):Използваните оператори SELECT имат различен брой колони“, когато използвате UNION в MariaDB

  3. MariaDB LENGTH() срещу LENGTHB():Каква е разликата?

  4. Ръководство за MariaDB Columnstore за администратори на MySQL

  5. Как работи FIND_IN_SET() в MariaDB