REGEXP
Sintassi
espr REGEXP pat, espr RLIKE pat
Spiegazione
Effettua la ricerca di un pattern pat su un'espressione stringa espr. Il pattern può essere un'Espressione Regolare estesa. La sintassi delle espressioni regolari è spiegata alla pagina http://dev.mysql.com/doc/refman/5.1/en/regexp.html. Restituisce 1 se espr corrisponde a pat; altrimenti restituisce 0. Se espr o pat sono NULL, il risultato è NULL. RLIKE è sinonimo di REGEXP ed è stato aggiunto per compatibilità con mSQL.
Lo schema non deve necessariamente essere una stringa letterale. Per esempio può essere specificato come espressione stringa o come colonna di una tabella.
Nota: Siccome MariaDB utilizza la sintassi C per gli escape nelle stringhe (per esempio "\n" rappresenta il carattere di nuova riga), occorre raddoppiare i caratteri "\" presenti nelle stringhe REGEXP.
REGEXP non è case sensitive, eccetto quando è usato su stringhe binarie.
Esempi
MariaDB [(none)]> SELECT 'Monty!' REGEXP 'm%y%%'; +-------------------------+ | 'Monty!' REGEXP 'm%y%%' | +-------------------------+ | 0 | +-------------------------+ 1 row in set (0.00 sec) MariaDB [(none)]> SELECT 'Monty!' REGEXP '.*'; +----------------------+ | 'Monty!' REGEXP '.*' | +----------------------+ | 1 | +----------------------+ 1 row in set (0.00 sec) MariaDB [(none)]> SELECT 'new*\n*line' REGEXP 'new\\*.\\*line'; +---------------------------------------+ | 'new*\n*line' REGEXP 'new\\*.\\*line' | +---------------------------------------+ | 1 | +---------------------------------------+ 1 row in set (0.00 sec) MariaDB [(none)]> SELECT 'a' REGEXP 'A', 'a' REGEXP BINARY 'A'; +----------------+-----------------------+ | 'a' REGEXP 'A' | 'a' REGEXP BINARY 'A' | +----------------+-----------------------+ | 1 | 0 | +----------------+-----------------------+ 1 row in set (0.00 sec) MariaDB [(none)]> SELECT 'a' REGEXP '^[a-d]'; +---------------------+ | 'a' REGEXP '^[a-d]' | +---------------------+ | 1 | +---------------------+ 1 row in set (0.00 sec)