As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
RLIKE
O operador RLIKE permite verificar se uma string corresponde a um padrão de expressão regular especificado.
Retorna true se str corresponder regexp false ou não.
Sintaxe
rlike(str, regexp)
Argumentos
- str
-
Uma expressão de string
- regexp
-
Uma expressão em cadeia de caracteres. A string regex deve ser uma expressão regular Java.
Literais de string (incluindo padrões de regex) não escapam em nosso analisador SQL. Por exemplo, para corresponder a “\ abc”, uma expressão regular para regexp pode ser “^\ abc$”.
Exemplos
O exemplo a seguir define o valor do parâmetro de spark.sql.parser.escapedStringLiterals configuração comotrue. Esse parâmetro é específico para o mecanismo Spark SQL. O spark.sql.parser.escapedStringLiterals parâmetro no Spark SQL controla como o analisador SQL manipula literais de string escapados. Quando definido comotrue, o analisador interpretará caracteres de barra invertida (\) em literais de string como caracteres de escape, permitindo que você inclua caracteres especiais como novas linhas, tabulações e aspas nos valores da string.
SET spark.sql.parser.escapedStringLiterals=true; spark.sql.parser.escapedStringLiterals true
Por exemplo, comspark.sql.parser.escapedStringLiterals=true, você pode usar a seguinte string literal em sua consulta SQL:
SELECT 'Hello, world!\n'
O caractere de nova linha \n seria interpretado como um caractere literal de nova linha na saída.
O exemplo a seguir executa uma correspondência de padrão de expressão regular. O primeiro argumento é passado para o operador RLIKE. É uma string que representa um caminho de arquivo, em que o nome de usuário real é substituído pelo padrão '****'. O segundo argumento é o padrão de expressão regular usado para a correspondência. A saída (true) indica que a primeira string ('%SystemDrive%\Users\****') corresponde ao padrão de expressão regular ('%SystemDrive%\\Users.*').
SELECT rlike('%SystemDrive%\Users\John', '%SystemDrive%\Users.*'); true