No Oracle e em outros bancos de dados relacionais, a correspondência de padrões é um recurso popular que permite pesquisar padrões de string usando sintaxes especiais. Por exemplo, você pode procurar uma substring dentro de um grande conjunto de strings usando operadores de correspondência de padrões e funções.
Isso o torna muito útil para criar cláusulas de pesquisa simples sem incorrer em penalidades de desempenho significativas no banco de dados.
Neste tutorial, você encontrará o operador semelhante no Oracle para realizar consultas de correspondência de padrões.
Oracle como operador
O operador semelhante no Oracle permite procurar um padrão específico em uma determinada coluna. Por exemplo, você pode usá -lo para encontrar todas as linhas onde o primeiro nome de um cliente começa com o padrão 'JA'.
Você geralmente 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 semelhante no SQL, como mostrado abaixo:
Expressão como padrão [Escape 'Escape_Character']
Oracle como exemplos de operadores
Os exemplos a seguir demonstram como usar o operador semelhante em uma tabela Oracle.
Suponha que tenhamos uma tabela contendo informações do cliente, como mostrado abaixo:
Exemplo 1 - Usando os caracteres de % curinga
Podemos usar os caracteres do % curinga para combinar com qualquer seqüê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 mostrada abaixo:
Selecione First_Name, Last_Name, Salário
de funcionários
onde primeiro_name como 'will%'
Ordem por First_Name;
A consulta anterior seleciona as colunas do First_Name, Last_Name e salaria.
Também combinamos uma cláusula Where em conjunto com um operador semelhante com os caracteres do % curinga para buscar apenas as linhas onde o primeiro nome começa com 'Will'.
Isso deve devolver as linhas como:
Também podemos usar o caráter de % curinga para buscar as linhas que terminam em um padrão específico.
Um exemplo é mostrado abaixo:
Selecione First_Name, Last_Name, Salário
de funcionários
onde primeiro_name como '%er'
Ordem por First_Name;
Nesse caso, a consulta anterior deve retornar todas as linhas onde o primeiro nome termina em 'er'. Um exemplo de valor resultante é mostrado abaixo:
O Oracle Database's Like Operator é sensível ao caso por padrão, por isso é essencial manter isso em mente enquanto procura padrões específicos. Você pode usar outras funções, como inferior e superior, para negar este comportamento.
Exemplo 2 - Usando a cláusula de escape
O exemplo a seguir demonstra como usar a cláusula de fuga no Oracle como operador:
Selecione First_Name, Last_Name, Salário, Comissário_pct
de funcionários
onde comission_pct como '20 \%'Escape' \ ';
A consulta anterior seleciona as colunas First_Name, Last_Name, Salary e Commission_PCT da tabela de funcionários. A cláusula Where usa o operador semelhante com a cláusula de escape para buscar os registros em que a coluna Commission_pct contém a string '20 % '(com um caráter literal, não um curinga).
Nesse caso, escapamos do caráter % com um caractere de barra de barragem (\) ao procurar a string 20 %. Isso permite que o operador semelhante procure a string exata '20 % 'em vez de tratar o caráter % como um curinga.
Esta consulta retornaria todas as linhas da tabela de funcionários, onde a coluna Commission_PCT contém a string exata '20%', juntamente com as colunas do First_Name, Last_Name e Salary para essas linhas.
Conclusão
Neste post, você aprendeu a usar o operador semelhante em bancos de dados Oracle para procurar padrões específicos em uma tabela. Vários exemplos são fornecidos para destacar o uso de caracteres curinga e a cláusula de escape.