Compartilhar via


Operador like

Aplica-se a:marca de seleção positiva SQL do Databricks marca de seleção positiva Databricks Runtime

Retorna true se str corresponde a pattern com escape.

Sintaxe

str [ NOT ] like ( pattern [ ESCAPE escape ] )
str [ NOT ] like { ANY | SOME | ALL } ( [ pattern [, ...] ] )

Argumentos

  • str: uma STRING expressão.

  • pattern: uma STRING expressão.

  • escape: um literal de caractere STRING único.

  • ANY, SOME ou ALL:

    Aplica-se a:marca de seleção positiva SQL do Databricks marca de seleção positiva Databricks Runtime

    Se ALL for especificado, então [NOT] retorna true se str corresponder (ou não) a todos os padrões. Se não, ou no caso de ANY ou SOME ser especificado, [NOT] como retorna true se str corresponder (ou não corresponder) a pelo menos um dos padrões.

Retornos

Um BOOLEAN.

O padrão é uma cadeia de caracteres que tem correspondência de forma literal, com exceção dos seguintes símbolos especiais:

  • _ corresponde a qualquer caractere na entrada (semelhante a . em expressões regulares do POSIX)
  • % corresponde a nenhum ou mais caracteres na entrada (semelhantes a .* em expressões regulares do POSIX).

O caractere de escape padrão é o '\'. Se um caractere de escape precede um símbolo especial ou outro caractere de escape, o caractere seguinte será correspondido literalmente. Não é válido para escape de qualquer outro caractere.

Ao usar literais, use raw-literal (prefixo r) para evitar o pré-processamento do caractere de escape.

str NOT like ... é equivalente a NOT(str like ...).

Conforme definido pelo SQL Standard, LIKE é sempre sensível a espaços em branco no final, mesmo que a ordenação não seja sensível a espaços em branco no final. Para valores não nulos str: str LIKE str || ' ' é sempre false.

Aplica-se a:marcado como sim Databricks SQL marcado como sim Databricks Runtime 17.2 e superiores

As seguintes ordenações são compatíveis com LIKE:

  • UTF8_BINARY
  • UTF8_BINARY_RTRIM
  • UTF8_LCASE
  • UTF8_LCASE_RTRIM

Para outras ordenações, use contains, startswithou ends_with.

Exemplos

> SELECT like('Spark', '_park');
true

> SELECT r'%SystemDrive%\Users\John' like r'%SystemDrive%\\Users%';
true

-- When not using raw literals, the escape character must be escaped.
> SELECT r'%SystemDrive%\Users\John' like '%SystemDrive%\\\\Users%';
true

> SELECT '%SystemDrive%/Users/John' like '/%SystemDrive/%//Users%' ESCAPE '/';
true

> SELECT like('Spock', '_park');
false

> SELECT 'Spark' like SOME ('_park', '_ock')
true

> SELECT 'Spark' like ALL ('_park', '_ock')
false

-- like is always trailing blank sensitive
> SELECT 'Spark' COLLATE UTF8_BINARY_RTRIM like 'Spark ';
false