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

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

В MySQL, NOT REGEXP е отрицание на REGEXP оператор.

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

Синтаксис

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

expr НЕ REGEXP поглаждане

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

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

НЕ (expr REGEXP поглаждане)

Пример 1 – Основна употреба

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

ИЗБЕРЕТЕ 'Хляб' НЕ REGEXP '^Br' КАТО 'Резултат';

Резултат:

+--------+| Резултат |+--------+| 0 |+-------+

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

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

ИЗБЕРЕТЕ НЕ ('Bread' REGEXP '^Br') КАТО 'Резултат';

Резултат:

+--------+| Резултат |+--------+| 0 |+-------+

Пример 2 – В сравнение с REGEXP

За да стане ясно, тук сравняваме резултатите от REGEXP и NOT REGEXP :

ИЗБЕРЕТЕ 'Bread' REGEXP '^Br' КАТО 'REGEXP', 'Bread' NOT REGEXP '^Br' КАТО 'NOT REGEXP';

Резултат:

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

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

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

ИЗБЕРЕТЕ 'Sofa' REGEXP '^Br' КАТО 'REGEXP', 'Sofa' НЕ REGEXP '^Br' КАТО '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. Коя е най-добрата структура на базата данни за съхраняване на многоезични данни?

  2. Добавете външен ключ към съществуваща таблица

  3. mySQL DataSource на Visual Studio 2012

  4. Пример за JDBC изявление – пакетно вмъкване, актуализиране, изтриване

  5. С MySQL, как мога да генерирам колона, съдържаща индекса на записа в таблица?