Oráculo LIKE

Oraculo Like



No Oracle e em outros bancos de dados relacionais, a correspondência de padrões é um recurso popular que permite pesquisar padrões de cadeia de caracteres usando sintaxes especiais. Por exemplo, você pode pesquisar uma substring dentro de um grande conjunto de strings usando operadores e funções de correspondência de padrões.

Isso o torna muito útil para construir cláusulas de pesquisa simples sem incorrer em penalidades significativas de desempenho no banco de dados.







Neste tutorial, você encontrará o operador LIKE no Oracle para executar consultas de correspondência de padrão.



Operador LIKE do Oracle

O operador LIKE no Oracle permite pesquisar um padrão específico em uma determinada coluna. Por exemplo, você pode usá-lo para localizar todas as linhas onde o primeiro nome de um cliente começa com o padrão 'Ja'.



Muitas vezes, você encontrará esse operador usado em conjunto com outras cláusulas SQL, como a cláusula WHERE, para filtrar nossos resultados com base em um padrão específico.





Podemos expressar a sintaxe do operador LIKE em SQL como mostrado abaixo:

expressão LIKE padrão [ FUGA 'escape_character' ]



  1. O parâmetro expression especifica a coluna que você deseja pesquisar.
  2. O parâmetro padrão define o padrão específico que você deseja pesquisar. O padrão especificado pode conter caracteres curinga como % e _ para corresponder a qualquer número de caracteres ou a um único caractere, respectivamente.
  3. Também podemos incluir a cláusula ESCAPE para especificar um caractere de escape usado para pesquisar os caracteres curinga reais.

Exemplos do Operador LIKE do Oracle

Os exemplos a seguir demonstram como usar o operador LIKE em uma tabela Oracle.

Suponhamos que tenhamos uma tabela contendo as informações do cliente conforme abaixo:

Exemplo 1 – Usando % de caracteres curinga

Podemos usar os caracteres curinga % para corresponder a qualquer sequência de zero ou mais caracteres. Por exemplo, podemos encontrar todas as entradas em uma tabela contendo o Nome ‘Will%’.

Pegue a tabela dos funcionários abaixo:

selecionar first_name, last_name, salário
de EMPREGADOS
onde FIRST_NAME gosta 'Vontade%'
ordenar por first_name;

A consulta anterior seleciona as colunas first_name, last_name e salary da tabela Employees e ordena os valores resultantes pela coluna first_name.

Também combinamos uma cláusula where em conjunto com um operador LIKE com os caracteres curinga % para buscar apenas as linhas onde o primeiro nome começa com ‘Will’.

Isso deve retornar as linhas como:

Também podemos usar o caractere curinga % para buscar as linhas que terminam em um padrão específico.

Um exemplo é mostrado abaixo:

selecionar first_name, last_name, salário
de EMPREGADOS
onde FIRST_NAME gostou '%é'
ordenar por first_name;

Neste caso, a consulta anterior deve retornar todas as linhas onde o primeiro nome termina em ‘er’. Um exemplo de valor resultante é mostrado abaixo:

O operador LIKE do banco de dados Oracle diferencia maiúsculas de minúsculas por padrão, portanto, é essencial ter isso em mente ao pesquisar padrões específicos. Você pode usar outras funções, como inferior e superior, para negar esse comportamento.

Exemplo 2 – Usando a Cláusula de Escape

O exemplo a seguir demonstra como usar a cláusula ESCAPE no operador LIKE do Oracle:

selecionar first_name, last_name, salário, comissão_pct
de EMPREGADOS
onde comissão_pct gosta 'vinte\%' fuga '\' ;

A consulta anterior seleciona as colunas primeiro_nome, último nome, salário e comissão_pct da tabela EMPLOYEES. A cláusula WHERE usa o operador LIKE com a cláusula ESCAPE para buscar os registros onde a coluna commission_pct contém a string ‘20%’ (com um caractere % literal, não um curinga).

Nesse caso, escapamos do caractere % com uma barra invertida (\) ao pesquisar a string 20%. Isso permite que o operador LIKE procure a string exata ‘20%’ em vez de tratar o caractere % como um curinga.

Esta consulta retornaria todas as linhas da tabela EMPLOYEES onde a coluna Commission_pct contém a string exata ‘20%’, juntamente com as colunas first_name, last_name e salary para essas linhas.

Conclusão

Nesta postagem, você aprendeu a usar o operador LIKE em bancos de dados Oracle para pesquisar padrões específicos em uma tabela. Vários exemplos são fornecidos para destacar usando caracteres curinga e a cláusula ESCAPE.