- 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> )
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 comexpr1
.Retorna FALSE se
expr2
não termina comexpr1
.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;
+---------+
| 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');
+-------+
| 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');
+------------------------------------------+------------------------------------------+
| ENDSWITH(COLLATE('NÑ', 'EN-CI-AI'), 'N') | ENDSWITH(COLLATE('NÑ', 'ES-CI-AI'), 'N') |
|------------------------------------------+------------------------------------------|
| True | False |
+------------------------------------------+------------------------------------------+