Categorias:

Funções de cadeia de caracteres e binários (Correspondência/Comparação)

ENDSWITH

Retorna se a primeira expressão TRUE termina com a segunda expressão. Ambas as expressões devem ser de texto ou expressões binárias.

Dica

Você pode usar o serviço de otimização de pesquisa para melhorar o desempenho de consultas que chamam essa função. Para obter mais detalhes, consulte Serviço de otimização de pesquisa.

Sintaxe

ENDSWITH( <expr1> , <expr2> )
Copy

Argumentos

expr1

A cadeia de caracteres a ser pesquisada.

expr2

A cadeia de caracteres a ser procurada no fim de expr1.

Retornos

Retorna um BOOLEAN ou NULL:

  • Retorna TRUE se expr2 termina com expr1.

  • Retorna FALSE se expr2 não termina com expr1.

  • Retorna NULL se qualquer uma das expressões de entrada for NULL.

Detalhes do agrupamento

The collation specifications of all input arguments must be compatible.

Esta função não oferece suporte às seguintes especificações de agrupamento:

  • pi (não identifica pontuação).

  • cs-ai (diferencia maiúsculas e minúsculas, não identifica acentos).

Exemplos

Esses exemplos usam a função ENDSWITH.

Como determinar se os valores da coluna contêm uma cadeia de caracteres

Crie uma tabela com uma única coluna que contenha valores de cadeia de caracteres.

CREATE OR REPLACE TABLE strings_test (s VARCHAR);

INSERT INTO strings_test values
  ('coffee'),
  ('ice tea'),
  ('latte'),
  ('tea'),
  (NULL);

SELECT * from strings_test;
Copy
+---------+
| S       |
|---------|
| coffee  |
| ice tea |
| latte   |
| tea     |
| NULL    |
+---------+

Determine se os valores na coluna s terminam com a cadeia de caracteres te:

SELECT * FROM strings_test WHERE ENDSWITH(s, 'te');
Copy
+-------+
| S     |
|-------|
| latte |
+-------+

Como usar ENDSWITH com agrupamento

No exemplo a seguir, ENDSWITH retorna resultados diferentes para os mesmos valores de argumento com diferentes especificações de agrupamento.

SELECT ENDSWITH(COLLATE('nñ', 'en-ci-ai'), 'n'),
       ENDSWITH(COLLATE('nñ', 'es-ci-ai'), 'n');
Copy
+------------------------------------------+------------------------------------------+
| ENDSWITH(COLLATE('NÑ', 'EN-CI-AI'), 'N') | ENDSWITH(COLLATE('NÑ', 'ES-CI-AI'), 'N') |
|------------------------------------------+------------------------------------------|
| True                                     | False                                    |
+------------------------------------------+------------------------------------------+