Correspondência de padrões em consultas SQL com caracteres curinga

click fraud protection

A correspondência de padrões SQL permite que você pesquise padrões nos dados se você não souber a palavra ou frase exata que está procurando. Este tipo de SQL a consulta usa caracteres curinga para corresponder a um padrão, em vez de especificá-lo exatamente. Por exemplo, você pode usar o caractere curinga "C%" para corresponder a qualquer string que comece com D maiúsculo.

Lupa
Kate Ter Haar / Flickr / CC por 2.0

Usando o Operador LIKE

Para usar uma expressão curinga em uma consulta SQL, use o operador LIKE em uma cláusula WHERE e coloque o padrão entre aspas simples.

Usando o% curinga para realizar uma pesquisa simples

Para pesquisar qualquer funcionário em seu banco de dados com um sobrenome começando com a letra C, use a seguinte instrução Transact-SQL:

SELECIONE *
DE funcionários
ONDE last_name LIKE 'C%'

Omitindo padrões usando a palavra-chave NOT

Use a palavra-chave NOT para selecionar os registros que não correspondem ao padrão. Por exemplo, esta consulta retorna todos os registros cujo último nome faz não comece com C:

instagram viewer
SELECIONE *
DE funcionários
ONDE o last_name NÃO É 'C%'

Correspondendo a um padrão em qualquer lugar usando o caractere curinga% duas vezes

Use duas instâncias do % curinga para corresponder a um padrão específico em qualquer lugar. Este exemplo retorna todos os registros que contêm um C em qualquer lugar no sobrenome:

SELECIONE *
DE funcionários
ONDE last_name LIKE '% C%'

Encontrar uma correspondência de padrão em uma posição específica

Use o _ curinga para retornar dados em um local específico. Este exemplo corresponde apenas se C ocorrer na terceira posição da coluna do sobrenome:

SELECIONE *
DE funcionários
ONDE last_name LIKE '_ _C%'

Expressões curinga com suporte no Transact SQL

Existem várias expressões curinga compatíveis com Transact SQL:

  • O % curinga corresponde a zero ou mais caracteres de qualquer tipo e pode ser usado para definir curingas antes e depois do padrão. Se você estiver familiarizado com a correspondência de padrões DOS, é o equivalente ao caractere curinga * nessa sintaxe.
  • O _ curinga corresponde exatamente a um caractere de qualquer tipo. É o equivalente do ? curinga na correspondência de padrões do DOS.
  • Especifique uma lista de caracteres colocando-os entre colchetes. Por exemplo, o curinga [aeiou] corresponde a qualquer vogal.
  • Especifique um intervalo de caracteres colocando o intervalo entre colchetes. Por exemplo, o curinga [sou] corresponde a qualquer letra da primeira metade do alfabeto.
  • Negue um intervalo de caracteres incluindo o caractere de circunflexo imediatamente dentro do colchete de abertura. Por exemplo, [^ aeiou] corresponde a qualquer caractere não-vogal enquanto [^ a-m] corresponde a qualquer caractere que não esteja na primeira metade do alfabeto.

Combinando curingas para padrões complexos

Combine esses curingas em padrões complexos para realizar consultas mais avançadas. Por exemplo, suponha que você precise construir uma lista de todos os seus funcionários cujos nomes começam com uma letra da primeira metade do alfabeto, mas têm não termine com uma vogal. Você pode usar a seguinte consulta:

SELECIONE *
DE funcionários
ONDE last_name LIKE '[a-m]% [^ aeiou]'

Da mesma forma, você pode construir uma lista de todos os funcionários com sobrenomes consistindo de exatamente quatro caracteres usando quatro instâncias do _ padronizar:

SELECIONE *
DE funcionários
ONDE last_name LIKE '____'

Como você pode ver, o uso de recursos de correspondência de padrões SQL oferece aos usuários de banco de dados a capacidade de ir além de simples consultas de texto e realizar operações de pesquisa avançadas.

instagram story viewer