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

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

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

С други думи, по всяко време RLIKE операторът ще върне 1 , NOT RLIKE ще върне 0 .

Синтаксис

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

expr NOT RLIKE pat

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

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

NOT (expr RLIKE pat)

Пример

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

SELECT 'Coffee' NOT RLIKE '^C.*e$';

Резултат:

+-----------------------------+
| 'Coffee' NOT RLIKE '^C.*e$' |
+-----------------------------+
|                           0 |
+-----------------------------+

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

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

SELECT NOT ('Coffee' RLIKE '^C.*e$');

Резултат:

+-------------------------------+
| NOT ('Coffee' RLIKE '^C.*e$') |
+-------------------------------+
|                             0 |
+-------------------------------+

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

Тук сравняваме резултатите от RLIKE с NOT RLIKE :

SELECT 
  'Coffee' RLIKE '^C.*e$' AS "RLIKE",
  'Coffee' NOT RLIKE '^C.*e$' AS "NOT RLIKE";

Резултат:

+-------+-----------+
| RLIKE | NOT RLIKE |
+-------+-----------+
|     1 |         0 |
+-------+-----------+

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

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

SELECT 
  'Funny' RLIKE '^C.*e$' AS "RLIKE",
  'Funny' NOT RLIKE '^C.*e$' AS "NOT RLIKE";

Резултат:

+-------+-----------+
| RLIKE | NOT RLIKE |
+-------+-----------+
|     0 |         1 |
+-------+-----------+

Алтернативи

MariaDB включва много функции и оператори, които по същество правят едно и също нещо и това важи и за NOT RLIKE .

  1. RLIKE е синоним на REGEXP оператор.
  2. NOT RLIKE е еквивалент на NOT REGEXP .
  3. RLIKE и REGEXP може да се отрече чрез просто използване на NOT логически оператор.

Следователно всички изброени по-долу са еквивалентни:

expr NOT RLIKE pat
expr NOT REGEXP pat
NOT (expr RLIKE pat)
NOT (expr REGEXP pat)

И ето пример за демонстрация:

SELECT 
  'Car' NOT RLIKE '^C' AS "Result 1",
  'Car' NOT REGEXP '^C' AS "Result 2",
  NOT ('Car' RLIKE '^C') AS "Result 3",
  NOT ('Car' REGEXP '^C') AS "Result 4";

Резултат:

+----------+----------+----------+----------+
| Result 1 | Result 2 | Result 3 | Result 4 |
+----------+----------+----------+----------+
|        0 |        0 |        0 |        0 |
+----------+----------+----------+----------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Архивиране на база данни - Сравняване на MariaDB Mariabackup и Percona Xtrabackup

  2. Какво е новото в MariaDB 10.4

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

  4. Съображения относно криптирането на данни в покой за MariaDB

  5. Използване на Sysbench за генериране на тестови данни за разчленена таблица в MySQL