SQL - Operadores curinga

Já discutimos sobre o operador SQL LIKE, que é usado para comparar um valor a valores semelhantes usando os operadores curinga.

O SQL oferece suporte a dois operadores curinga em conjunto com o operador LIKE, que são explicados em detalhes na tabela a seguir.

Sr. Não. Curinga e descrição
1

The percent sign (%)

Corresponde a um ou mais caracteres.

Note - O MS Access usa o caractere curinga asterisco (*) em vez do caractere curinga de sinal de porcentagem (%).

2

The underscore (_)

Corresponde a um personagem.

Note - O MS Access usa um ponto de interrogação (?) Em vez do sublinhado (_) para corresponder a qualquer caractere.

O sinal de porcentagem representa zero, um ou vários caracteres. O sublinhado representa um único número ou um caractere. Esses símbolos podem ser usados ​​em combinações.

Sintaxe

A sintaxe básica de um operador '%' e '_' é a seguinte.

SELECT * FROM table_name
WHERE column LIKE 'XXXX%'

or 

SELECT * FROM table_name
WHERE column LIKE '%XXXX%'

or

SELECT * FROM table_name
WHERE column LIKE 'XXXX_'

or

SELECT * FROM table_name
WHERE column LIKE '_XXXX'

or

SELECT * FROM table_name
WHERE column LIKE '_XXXX_'

Você pode combinar um número N de condições usando os operadores AND ou OR. Aqui, XXXX pode ser qualquer valor numérico ou string.

Exemplo

A tabela a seguir contém vários exemplos que mostram a parte WHERE com diferentes cláusulas LIKE com operadores '%' e '_'.

Sr. Não. Declaração e descrição
1

WHERE SALARY LIKE '200%'

Encontra todos os valores que começam 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 na terceira posições.

4

WHERE SALARY LIKE '2_%_%'

Encontra qualquer valor que comece com 2 e tenha pelo menos 3 caracteres de comprimento.

5

WHERE SALARY LIKE '%2'

Encontra qualquer valor que termine com 2.

6

WHERE SALARY LIKE '_2%3'

Encontra qualquer valor que tenha 2 na segunda posição e termine 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.

Tomemos um exemplo real, considere a tabela CLIENTES 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 bloco de código a seguir é um exemplo, que exibiria todos os registros da tabela CUSTOMERS onde SALÁRIO começa com 200.

SQL> SELECT * FROM CUSTOMERS
WHERE SALARY LIKE '200%';

Isso produziria o seguinte resultado.

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
+----+----------+-----+-----------+----------+