In MariaDB, il RLIKE viene utilizzato per determinare se una stringa corrisponde o meno a un'espressione regolare. È sinonimo di REGEXP .
Se la stringa corrisponde all'espressione regolare fornita, il risultato è 1 , altrimenti è 0 .
Sintassi
La sintassi è questa:
expr RLIKE pat
Dove expr è la stringa di input e pat è l'espressione regolare per la quale stai testando la stringa.
Esempio
Ecco un esempio di come utilizzare questo operatore in un SELECT dichiarazione:
SELECT 'Tweet' RLIKE '^Tw.*t$'; Risultato:
+-------------------------+ | 'Tweet' RLIKE '^Tw.*t$' | +-------------------------+ | 1 | +-------------------------+
In questo caso, il valore restituito è 1 il che significa che la stringa di input corrispondeva all'espressione regolare. In particolare, abbiamo specificato che la stringa di input deve iniziare con Tw e termina con t (questo è perché abbiamo iniziato il pattern con ^Tw e l'ho terminato con t$ ). Il . part specifica qualsiasi carattere e * specifica che potrebbe essere zero per qualsiasi numero di quel (qualsiasi) carattere. Quindi .* significa che non possono esserci caratteri, un carattere o molti caratteri tra l'inizio e la fine.
Ecco cosa succede se eliminiamo il * :
SELECT 'Tweet' RLIKE '^Tw.t$'; Risultato:
+------------------------+ | 'Tweet' RLIKE '^Tw.t$' | +------------------------+ | 0 | +------------------------+
Il risultato restituito è 0 il che significa nessuna corrispondenza. Questo perché . specifica solo un'istanza di qualsiasi carattere. La nostra stringa di input contiene due istanze.
Ecco alcune permutazioni:
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"; Risultato:
+------+------+-----+------+ | Twet | Twit | Twt | Tw.t | +------+------+-----+------+ | 1 | 1 | 0 | 1 | +------+------+-----+------+