T-SQL - cláusula LIKE
O MS SQL Server LIKEcláusula é usada para comparar um valor a valores semelhantes usando operadores curinga. Existem dois curingas usados em conjunto com o operador LIKE -
- O sinal de porcentagem (%)
- O sublinhado (_)
O sinal de porcentagem representa zero, um ou vários caracteres. O sublinhado representa um único número ou caractere. Os símbolos podem ser usados em combinações.
Sintaxe
A seguir está a sintaxe básica de% e _.
SELECT *\column-list FROM table_name
WHERE column LIKE 'XXXX%'
or
SELECT *\column-list FROM table_name
WHERE column LIKE '%XXXX%'
or
SELECT *\column-list FROM table_name
WHERE column LIKE 'XXXX_'
or
SELECT *\column-list FROM table_name
WHERE column LIKE '_XXXX'
or
SELECT *\column-list FROM table_name
WHERE column LIKE '_XXXX_'
Você pode combinar um número N de condições usando os operadores AND ou OR. XXXX pode ser qualquer valor numérico ou string.
Exemplo
A seguir estão alguns exemplos que mostram a parte WHERE com cláusulas LIKE diferentes com os operadores '%' e '_'.
Sr. Não | Declaração e descrição |
---|---|
1 | WHERE SALARY LIKE '200%' Encontra qualquer valor que comece com 200 |
2 | WHERE SALARY LIKE '%200%' Encontra qualquer valor que tenha 200 em qualquer posição |
3 | WHERE SALARY LIKE '_00%' Encontra qualquer valor que tenha 00 na segunda e terceira posições |
4 | WHERE SALARY LIKE '2_%_%' Encontra todos os valores que começam com 2 e têm pelo menos 3 caracteres de comprimento |
5 | WHERE SALARY LIKE '%2' Encontra todos os valores que terminam com 2 |
6 | WHERE SALARY LIKE '_2%3' Encontra quaisquer valores que tenham 2 na segunda posição e terminem com 3 |
7 | WHERE SALARY LIKE '2___3' Encontra qualquer valor em um número de cinco dígitos que começa com 2 e termina com 3 |
Considere a tabela CUSTOMERS com os seguintes registros.
ID NAME AGE ADDRESS SALARY
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 kaushik 23 Kota 2000.00
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
6 Komal 22 MP 4500.00
7 Muffy 24 Indore 10000.00
O comando a seguir é um exemplo, que exibirá todos os registros da tabela CUSTOMERS onde SALARY começa com 200.
SELECT * FROM CUSTOMERS
WHERE SALARY LIKE '200%';
O comando acima produzirá a seguinte saída.
ID NAME AGE ADDRESS SALARY
1 Ramesh 32 Ahmedabad 2000.00
3 kaushik 23 Kota 2000.00