V MariaDB, RLIKE operátor se používá k určení, zda řetězec odpovídá regulárnímu výrazu. Je to synonymum pro REGEXP .
Pokud řetězec odpovídá zadanému regulárnímu výrazu, výsledek je 1 , jinak je to 0 .
Syntaxe
Syntaxe vypadá takto:
expr RLIKE pat
Kde expr je vstupní řetězec a pat je regulární výraz, pro který řetězec testujete.
Příklad
Zde je příklad použití tohoto operátoru v SELECT prohlášení:
SELECT 'Tweet' RLIKE '^Tw.*t$'; Výsledek:
+-------------------------+ | 'Tweet' RLIKE '^Tw.*t$' | +-------------------------+ | 1 | +-------------------------+
V tomto případě je návratová hodnota 1 což znamená, že vstupní řetězec odpovídal regulárnímu výrazu. Konkrétně jsme určili, že vstupní řetězec by měl začínat Tw a končí na t (to proto, že jsme vzor začali s ^Tw a skončilo to t$ ). . část určuje libovolný znak a * určuje, že může být nula až libovolné číslo tohoto (jakéhokoli) znaku. Takže .* znamená, že mezi začátkem a koncem nemohou být žádné znaky, jeden znak nebo mnoho znaků.
Zde je to, co se stane, když vypustíme * :
SELECT 'Tweet' RLIKE '^Tw.t$'; Výsledek:
+------------------------+ | 'Tweet' RLIKE '^Tw.t$' | +------------------------+ | 0 | +------------------------+
Výsledek je 0 což znamená žádná shoda. Důvodem je . určuje pouze jednu instanci libovolného znaku. Náš vstupní řetězec obsahuje dvě instance.
Zde jsou některé permutace:
SELECT
'Twet' RLIKE '^Tw.t$' AS "Twet",
'Twit' RLIKE '^Tw.t$' AS "Twit",
'Twt' RLIKE '^Tw.t$' AS "Twt",
'Tw.t' RLIKE '^Tw.t$' AS "Tw.t"; Výsledek:
+------+------+-----+------+ | Twet | Twit | Twt | Tw.t | +------+------+-----+------+ | 1 | 1 | 0 | 1 | +------+------+-----+------+