V MariaDB, NOT RLIKE je negací RLIKE operátor.
Jinými slovy, kdykoli RLIKE operátor vrátí 1 , NOT RLIKE vrátí 0 .
Syntaxe
Syntaxe vypadá takto:
expr NOT RLIKE pat
Kde expr je vstupní řetězec a pat je regulární výraz, pro který řetězec testujete.
Je to ekvivalent provedení následujícího:
NOT (expr RLIKE pat) Příklad
Zde je příklad použití v SELECT prohlášení:
SELECT 'Coffee' NOT RLIKE '^C.*e$'; Výsledek:
+-----------------------------+ | 'Coffee' NOT RLIKE '^C.*e$' | +-----------------------------+ | 0 | +-----------------------------+
Zde se vzor shoduje, pokud vstupní řetězec začíná C a končí e . Má, ale protože používáme NOT RLIKE , dostaneme záporný výsledek (0 ).
Výše uvedené prohlášení je ekvivalentem provedení tohoto:
SELECT NOT ('Coffee' RLIKE '^C.*e$'); Výsledek:
+-------------------------------+
| NOT ('Coffee' RLIKE '^C.*e$') |
+-------------------------------+
| 0 |
+-------------------------------+ Ve srovnání s RLIKE
Zde porovnáváme výsledky z RLIKE s NOT RLIKE :
SELECT
'Coffee' RLIKE '^C.*e$' AS "RLIKE",
'Coffee' NOT RLIKE '^C.*e$' AS "NOT RLIKE"; Výsledek:
+-------+-----------+ | RLIKE | NOT RLIKE | +-------+-----------+ | 1 | 0 | +-------+-----------+
Pozitivní výsledek
Předchozí příklady vedly k 0 pro NOT RLIKE , protože řetězec udělal skutečně odpovídat vzoru. Zde je příklad, kdy dostaneme 1 , což znamená, že řetězec není zápas:
SELECT
'Funny' RLIKE '^C.*e$' AS "RLIKE",
'Funny' NOT RLIKE '^C.*e$' AS "NOT RLIKE"; Výsledek:
+-------+-----------+ | RLIKE | NOT RLIKE | +-------+-----------+ | 0 | 1 | +-------+-----------+
Alternativy
MariaDB obsahuje mnoho funkcí a operátorů, které v podstatě dělají totéž, a to platí také pro NOT RLIKE .
RLIKEje synonymem proREGEXPoperátor.NOT RLIKEje ekvivalentemNOT REGEXP.RLIKEaREGEXPlze negovat jednoduše pomocíNOTlogický operátor.
Proto jsou všechny následující položky ekvivalentní:
expr NOT RLIKE pat
expr NOT REGEXP pat
NOT (expr RLIKE pat)
NOT (expr REGEXP pat) A zde je příklad k demonstraci:
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"; Výsledek:
+----------+----------+----------+----------+ | Result 1 | Result 2 | Result 3 | Result 4 | +----------+----------+----------+----------+ | 0 | 0 | 0 | 0 | +----------+----------+----------+----------+