|
Curingas são caracteres especiais usados ??para corresponder a partes de um valor na cláusula where.
Para usar curingas em cláusulas de pesquisa, o operador LIKE deve ser usado..
A pesquisa curinga pode ser usada apenas com campos de texto (strings).
.
Existem dois curingas geralmente usados ??em conjunto com o operador LIKE:
% - significa corresponder a qualquer número de ocorrências de qualquer caractere.
_ - O sublinhado representa um único caractere
Sintaxe:
SELECT column1
, column2
, ...
FROM table_name
WHERE columnN LIKE pattern;
|
Você também pode combinar qualquer número de condições usando os operadores AND ou OR.
Aqui estão alguns exemplos mostrando diferentes operadores LIKE com curingas '%' e '_'.
| Operador LIKE |
Descrição |
| WHERE column_name LIKE 'b%' |
Encontra todos os valores que começam com "b" |
| WHERE column_name LIKE '%ed%' |
Encontra qualquer valor que tenha "ed" em qualquer posição |
| WHERE column_name LIKE 'a_%' |
Encontra todos os valores que começam com "a" e têm pelo menos 2 caracteres de comprimento |
| WHERE column_name LIKE 'b%t' |
Encontra todos os valores que começam com "b" e terminam com "t" |
| WHERE column_name LIKE '%t' |
Encontra qualquer valor que termine com "t" |
| WHERE column_name LIKE '_a%' |
Encontra qualquer valor que tenha "a" na segunda posição |
| WHERE column_name LIKE 's__%' |
Encontra todos os valores que começam com "s" e têm pelo menos 3 caracteres de comprimento |
Banco de dados DB2:
Abaixo está uma seleção da tabela "Produto" no banco de dados DB2.
| CODPROD |
NOMPROD |
TIPOPROD |
PRECO |
ESTOQUE |
VALTOTAL |
| 7001 |
Mouse |
Accessories |
75.00 |
|
|
| 7002 |
Harddrive |
|
65.00 |
20 |
1,300 |
| 7003 |
Keyboard |
Accessories |
36.00 |
33 |
1,118.00 |
| 7004 |
RAM |
Components |
23.50 |
16 |
376.00 |
| 7005 |
Honda |
Bikes |
1,200 |
|
|
| 7006 |
PEN |
|
7.45 |
10 |
74.50 |
| 7007 |
Cddrive |
Accessories |
75.00 |
|
|
| 7008 |
Speaker |
Accessories |
75.00 |
|
|
Exemplo 1:
A seguinte instrução SQL seleciona todos os produtos com um NOMPROD começando com "H":
SELECT *
FROM PRODUTO
WHERE NOMPROD LIKE 'H%';
ou
SELECT CODPROD
, NOMPROD
, TIPOPROD
, PRECO
, ESTOQUE
, VALTOTAL
FROM PRODUTO
WHERE NOMPROD LIKE 'H%';
|
Resultado:
| CODPROD |
NOMPROD |
TIPOPROD |
PRECO |
ESTOQUE |
VALTOTAL |
| 7002 |
Harddrive |
|
65.00 |
20 |
1,300 |
| 7005 |
Honda |
Bikes |
1,200 |
|
|
Exemplo 2:
A seguinte instrução SQL seleciona todos os produtos com um NOMPROD terminando com "e":
SELECT *
FROM PRODUTO
WHERE NOMPROD LIKE '%e';
ou
SELECT CODPROD
, NOMPROD
, TIPOPROD
, PRECO
, ESTOQUE
, VALTOTAL
FROM PRODUTO
WHERE NOMPROD LIKE '%e';
|
Resultado:
| CODPROD |
NOMPROD |
TIPOPROD |
PRECO |
ESTOQUE |
VALTOTAL |
| 7001 |
Mouse |
Accessories |
75.00 |
|
|
| 7002 |
Harddrive |
|
65.00 |
20 |
1,300 |
| 7007 |
Cddrive |
Accessories |
75.00 |
|
|
Exemplo 3:
A seguinte instrução SQL seleciona todos os produtos com um NOMPROD que têm "dd" em qualquer posição:
SELECT *
FROM PRODUTO
WHERE NOMPROD LIKE '%dd%'
ou
SELECT CODPROD
, NOMPROD
, TIPOPROD
, PRECO
, ESTOQUE
, VALTOTAL
FROM PRODUTO
WHERE NOMPROD LIKE '%dd%';
|
Resultado:
| CODPROD |
NOMPROD |
TIPOPROD |
PRECO |
ESTOQUE |
VALTOTAL |
| 7002 |
Harddrive |
|
65.00 |
20 |
1,300 |
| 7007 |
Cddrive |
Accessories |
75.00 |
|
|
Exemplo 4:
A seguinte instrução SQL seleciona todos os produtos com um NOMPROD que têm "o" na segunda posição:
SELECT *
FROM PRODUTO
WHERE NOMPROD LIKE '_o%';
ou
SELECT CODPROD
, NOMPROD
, TIPOPROD
, PRECO
, ESTOQUE
, VALTOTAL
FROM PRODUTO
WHERE NOMPROD LIKE '_o%';
|
Resultado:
| CODPROD |
NOMPROD |
TIPOPROD |
PRECO |
ESTOQUE |
VALTOTAL |
| 7001 |
Mouse |
Accessories |
75.00 |
|
|
| 7005 |
Honda |
Bikes |
1,200 |
|
|
Exemplo 5:
A seguinte instrução SQL seleciona todos os produtos com um NOMPROD que começa com "H" e termina com "e":
SELECT *
FROM PRODUTO
WHERE NOMPROD LIKE 'H%e';
ou
SELECT CODPROD
, NOMPROD
, TIPOPROD
, PRECO
, ESTOQUE
, VALTOTAL
FROM PRODUTO
WHERE NOMPROD LIKE '_o%';
|
Resultado:
| CODPROD |
NOMPROD |
TIPOPROD |
PRECO |
ESTOQUE |
VALTOTAL |
| 7002 |
Harddrive |
|
65.00 |
20 |
1,300 |
Exemplo 6:
A seguinte instrução SQL seleciona todos os produtos com um NOMPROD que não começa com "H":
SELECT *
FROM PRODUTO
WHERE NOMPROD NOT LIKE 'H%';
ou
SELECT CODPROD
, NOMPROD
, TIPOPROD
, PRECO
, ESTOQUE
, VALTOTAL
FROM PRODUTO
WHERE NOMPROD LIKE '_o%';
|
Resultado:
| CODPROD |
NOMPROD |
TIPOPROD |
PRECO |
ESTOQUE |
VALTOTAL |
| 7001 |
Mouse |
Accessories |
75.00 |
|
|
| 7003 |
Keyboard |
Accessories |
36.00 |
33 |
1,118.00 |
| 7004 |
RAM |
Components |
23.50 |
16 |
376.00 |
| 7006 |
PEN |
|
7.45 |
10 |
74.50 |
| 7007 |
Cddrive |
Accessories |
75.00 |
|
|
| 7008 |
Speaker |
Accessories |
75.00 |
|
|
|