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