MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Como o RLIKE funciona no MariaDB


No MariaDB, o RLIKE O operador é usado para determinar se uma string corresponde ou não a uma expressão regular. É sinônimo de REGEXP .

Se a string corresponder à expressão regular fornecida, o resultado será 1 , caso contrário é 0 .

Sintaxe


A sintaxe fica assim:
expr RLIKE pat

Onde expr é a string de entrada e pat é a expressão regular para a qual você está testando a string.

Exemplo


Aqui está um exemplo de como usar este operador em um SELECT demonstração:
SELECT 'Tweet' RLIKE '^Tw.*t$';

Resultado:
+-------------------------+
| 'Tweet' RLIKE '^Tw.*t$' |
+-------------------------+
|                       1 |
+-------------------------+

Neste caso, o valor de retorno é 1 o que significa que a string de entrada correspondeu à expressão regular. Especificamente, especificamos que a string de entrada deve começar com Tw e termine com t (isso ocorre porque iniciamos o padrão com ^Tw e terminou com t$ ). O . parte especifica qualquer caractere e * especifica que pode ser zero para qualquer número desse (qualquer) caractere. Então .* significa que não pode haver caracteres, um caractere ou muitos caracteres entre o início e o fim.

Veja o que acontece se descartarmos o * :
SELECT 'Tweet' RLIKE '^Tw.t$';

Resultado:
+------------------------+
| 'Tweet' RLIKE '^Tw.t$' |
+------------------------+
|                      0 |
+------------------------+

O resultado de retorno é 0 o que significa que não há correspondência. Isso ocorre porque . especifica apenas uma instância de qualquer caractere. Nossa string de entrada contém duas instâncias.

Aqui estão algumas permutações:
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";

Resultado:
+------+------+-----+------+
| Twet | Twit | Twt | Tw.t |
+------+------+-----+------+
|    1 |    1 |   0 |    1 |
+------+------+-----+------+