INSTR : Como utilizar esta função no Oracle / PLSQL

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest
Share on tumblr
Share on telegram
Share on whatsapp
Share on skype
Share on email

Nesta publicação, aprenderemos como utilizar a função oracle instr com sua finalidade, sintaxe e exemplos de utilização.

Esta função pode ser de grande utilidade quando se programa em PLSQL no Oracle Database.

Como utilizar esta função instr no PLSQL
Como utilizar esta função instr no PLSQL

O que faz a função INSTR do Oracle / PLSQL ?

A função INSTR tem o objetivo de retornar a localização de uma substring em uma outra string.

Parece Complicado ? Mas não é o que aparenta ser, por Exemplo :
Vamos supor que você precisa localizar em um cadastro de clientes, se o nome do cliente possui a palavra “Sanches” no campo nome, ou se você necessita selecionar todas as cidades com a palavra “Santo” na coluna cidade.

Neste caso, a função INSTR do Oracle database poderá ser de grande utilidade como veremos no decorrer desta dica.

INSTR : Sintaxe da Função Oracle

A sintaxe para a função INSTR no Oracle / PLSQL é:

INSTR( string, substring [, posição_inicial [, th_aparição ] ] )

Parâmetros ou Argumentos da função INSTR

string

A string para pesquisar. string pode ser CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB ou NCLOB.

substring

A substring a procurar em string . substring pode ser CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB ou NCLOB.

posição_inicial

Opcional. A posição na string onde a pesquisa será iniciada. Se omitido, o padrão é 1. A primeira posição na string é 1. Se a posição_inicial for negativa, a função INSTR contará de volta o número de caracteres de posição_inicial do final da string e então procurará o início da string .

th_aparição

Opcional. A enésima aparição de substring . Se omitido, o padrão é 1.

Retorno da função INSTR

A função INSTR retorna um valor numérico. A primeira posição na string é 1.
Se a substring não for encontrada na string , a função INSTR retornará 0.



Compatibilidade da função Oracle INSTR

A função INSTR pode ser usada nas seguintes versões do Oracle / PLSQL:

  • Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i, Oracle 8i

A seguir veremos exemplos de utilização da função INSTR em ação.

Exemplos de utilização da função Oracle INSTR PLSQL

SELECT INSTR('Aprenda Oracle com o Web Mundi.com', 'com') as PrimeiraOcorrenciadaPalavra FROM dual

Resultado:

PRIMEIRAOCORRENCIADAPALAVRA
1 16

Neste caso, o Resultado retornou 16, pois é primeira posição da esquerda para a direita onde a substring ‘com’ foi encontrada na string  ‘Aprenda Oracle com o Web Mundi.com’

Outra forma de utilização é iniciar a pesquisa da direita para esquerda, assim você pode encontrar a posição da última ocorrência da substring na string informando -1 no parâmetro posição_inicial

SELECT INSTR('Aprenda Oracle com o Web Mundi.com', 'com', -1) UltimaOcorrenciadaPalavra FROM dual

Resultado:

ULTIMAOCORRENCIADAPALAVRA
1 32

Neste caso, o Resultado retornou 32, pois é primeira posição da direita para esquerda onde a substring ‘com’ foi encontrada na string  ‘Aprenda Oracle com o Web Mundi.com’



Outros exemplos de utilização INSTR Oracle PLSQL

Veremos agora outros exemplos de utilização da função INSTR() do Oracle como Localizar na tabela clientes, registros que possuem a palavra “Sanches” em seu nome

Select nome_cliente from tb_clientes_webmundi where instr(nome_cliente, 'Sanches') > 0

Resultado:

nome_cliente

1 José Carlos Sanches
2 Adalgiza Sanches
3 Fernando da Silva Sanches
4 José Sanches Faria
5 Alessandra Sanches de Oliveira
6 Antonio Sanches
7 João Sanches Silva
8 Alexandre Sanches
9 Alessandra Sanches Alves
10 Alex Sanches Oliveira
11 Ariane Alves Sanches
12 Aline Santos Sanches
13 Osvaldo Sanches
14 Renato Sanches
15 Oscar Sanches Salvador
16 Luiz Sanches Pereira

Mais um exemplo é selecionar todas as cidades com a palavra “Santo” na coluna nome_cidade.

Select nome_cidade from tb_clientes_webmundi where instr(nome_cidade , 'Santo') > 0

Resultado

NOME_CIDADE

1 Santo Anastacio
2 Santo Antonio da Platina
3 Brejo Santo
4 Santo Antonio de Posse
5 Santos
6 Santo Andre
7 Monte Santo de Minas
8 Santo Antonio do Monte
9 Monte Santo
10 Santo Antonio do Jardim
11 Santo Expedito
12 Espirito Santo do Pinhal
13 Santo Antonio do Pinhal
14 Santo Angelo

Vale lembrar que a string a ser pesquisada é Case-sensitive, ou seja, a string “Santo” é diferente de “santo”, veja o resultado da busca pela string “santo” na nossa base de dados de clientes webmundi.

Select nome_cidade from tb_clientes_webmundi where instr(nome_cidade , 'santo') > 0

Resultado:

NOME_CIDADE

1 monte santo de minas
2 santo andre
3 santos

Uma maneira de você selecionar todas as as cidades que contenham a string  “santo” , independente da string estar no banco com maiúsculo, minúsculo ou somente a primeira maiúscula é utilizar a função instr juntamente com as funções UPPER, LOWER ou INITCAP.

Veja um exemplo abaixo com a função UPPER que converterá a string em maiúscula, note que passo o parâmetro de substring também em maiúscula ‘SANTO’ :

Select nome_cidade from tb_clientes_webmundi where instr(upper(nome_cidade) , 'SANTO') > 0

Resultado

NOME_CIDADE

1 Santo Anastacio
2 SANTO ANDRE
3 Santo Antonio da Platina
4 SANTOS
5 Brejo Santo
6 Santo Antonio de Posse
7 monte santo de minas
8 Santos
9 Santo Andre
10 Monte Santo de Minas
11 santo andre
12 Santo Antonio do Monte
13 Monte Santo
14 Santo Antonio do Jardim
15 santos
16 Santo Expedito
17 Espirito Santo do Pinhal
18 Santo Antonio do Pinhal
19 Santo Angelo

Importante: Note que apesar de ter colocado a função upper em conjunto com a função instr, o resultado da query, retornou nomes de cidade de diferentes formas, como por exemplo a cidade de Santo André. Retornou SANTO ANDRE, Santo Andre e santo andre.

Poderia utilizar a função lower que converterá a string em minúscula, note que passo o parâmetro de substring também em minúscula ‘santo’

Select nome_cidade from tb_clientes_webmundi where instr(lower(nome_cidade) , 'santo') > 0

Outra forma é utilizar a função Initcap, esta função define somente o primeiro caractere da String em maiúscula, note que passo o parâmetro de substring também com a Primeira letra em maiúscula ‘Santo’

Select nome_cidade from tb_clientes_webmundi where instr(Initcap(nome_cidade) , 'Santo') > 0

Você pode conferir mais exemplos de utilização da função INSTR PLSQL no site da própria Oracle em:

https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions068.htm

https://docs.oracle.com/cd/B28359_01/olap.111/b28126/dml_functions_1103.htm#OLADM564



Dicas de Livros de Oracle

Quer aprender mais sobre Oracle e PL/SQL e não sabe por onde começar?

Separamos algumas dicas legais de livros sobre Oracle e programação PL/SQL para você aprender ainda mais sobre este poderoso banco de dados, confira:

Amazon.com.br

Materiais e leituras que recomendamos para você:

Obrigado

Espero que este post tenha sido útil e lhe ajudado a entender um pouco mais sobre a função INSTR do Oracle PL/SQL.

Em nossa seção de Oracle, você confere outras dicas sobre este banco de dados.

Se você gostou, compartilhe estas dicas com um amigo ou participe de nossas redes sociais.

Conhece outras formas de utilizar a função INSTR em PL/SQL ?

Deixe nos comentários ou envie para nós em nossa página do Facebook.

Será um prazer incluir sua dica neste post com os devidos créditos a você.

Caso queira nos incentivar a criar mais conteúdos como este, prestigie nossos anunciantes.

Um Grande Abraço e até a próxima dica!

Gostou do Post ? Compartilhe com seus amigos nas redes sociais.

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest
Share on tumblr
Share on telegram
Share on whatsapp
Share on skype
Share on email

☑️ Comunidades Colaborativas de Aprendizagem 💬

❓ Esclareça suas dúvidas e ajude outras pessoas a aprender sobre o assunto proposto em nossa comunidade colaborativa no Facebook.

Compartilhe ideias e atividades com outros membros enquanto aprendemos juntos em um ambiente virtual criado e mantido pelo webmundi.com.
Aproveite essa oportunidade gratuita para aprimorar seus conhecimentos e participar de discussões sobre o assunto que você está interessado.

☑️ Grupos WebMundi.com Facebook

✔️ Banco de dados : Dicas
▶️ https://bit.ly/dbbrasil

✔️ Windows Dicas
▶️ https://bit.ly/windowsdicas

✔️ Linux : Dicas, Truques e Tutoriais
▶️ https://bit.ly/linuxdicas

 

✔️ Dev Brasil : Desenvolvimento de Software : Programação (Java, Python, Javascript, Flutter, PHP, Html,CSS e muito mais)
▶️ https://bit.ly/devbrasil

✔️ Virtualização de Computadores : Tecnologia
▶️ https://bit.ly/virtualizabr

APOIE O WEBMUNDI.COM

Apoie o Projeto WebMundi.com doando 1 Real !

Se você é fã do conteúdo gratuito e de qualidade que o WebMundi.com oferece no Site, Youtube e grupos, agora é a hora de demonstrar seu apoio e ajudar a mantê-lo disponível.
Qualquer doação, por menor que seja, será muito valiosa para nós e fará toda a diferença.

Basta utilizar o PIX ou o botão VALEU do Youtube para fazer sua contribuição.
Não perca essa oportunidade de ajudar a manter o WebMundi.com ativo e fornecer ainda mais conteúdo de qualidade para você e para outros.

Faça sua doação agora e seja parte da nossa comunidade de apoio!

Ajude a manter nossa criação de conteúdo e operação em funcionamento

Estrutura WebMundi | Sites e Canal Youtube

Ter presença na Internet implica em custos como:

  • Domínios (www.webmundi.com / www.webmundi.org)
  • Hospedagem (local onde fica a estrutura do site / páginas / banco de dados)
  • Softwares (programas utilizados para montar e manter o site em operação e edição de vídeo)
  • Layout e Desenvolvimento (profissionais que constroem, mantêm e divulgam o site e o canal)
  • Produção de Conteúdo (Profissionais como Redatores, Produtores, Editores de vídeo, etc…)
  • Certificados de Segurança (cadeado / segurança da página, possibilita a segurança na navegação e seus dados)
  • Manutenção do Site (atualizações do site, criação de novas páginas)

Loja Virtual | WebMundi.com

Outra forma de apoiar a criação de conteúdo no YouTube e em nossos sites é nossa loja virtual

Parceria do WebMundi.com com as maiores plataformas de comércio eletrônico do Brasil.

Nossa loja é integrada com nossos parceiros associados e possui uma ampla variedade de produtos de marcas renomadas.
O Cliente ao escolher um produto é direcionado a loja parceira onde pode fazer sua compra com tranquilidade em um ambiente seguro e 100% confiável.

Confira:

Loja Virtual WebMundi.com

Alguns de nossos parceiros associados:

AliExpress Parceiro Magalu Amazon Associados

Obrigado pela confiança e preferência.

TALVEZ VOCÊ GOSTE TAMBÉM

Mais Assistidos
Como BAIXAR a ISO do WINDOWS 10 OFICIAL e Criar um Pendrive Bootável
Play Video about Como BAIXAR a ISO do WINDOWS 10 OFICIAL e Criar um Pendrive Bootável
Como instalar o Oracle Virtualbox e Criar Máquinas Virtuais (VMs)
Play Video about Como instalar o Oracle Virtualbox e Criar Máquinas Virtuais (VMs)
atualizar windows 7 para windows 10 2020
Play Video about atualizar windows 7 para windows 10 2020
Instalar o Servidor XAMPP no Linux - Localhost Apache MySQL PHP
Play Video about Instalar o Servidor XAMPP no Linux - Localhost Apache MySQL PHP
Como BAIXAR a ISO do WINDOWS 11 OFICIAL e Criar um Pendrive Bootável
Play Video about Como BAIXAR a ISO do WINDOWS 11 OFICIAL e Criar um Pendrive Bootável
Como Transferir o Windows do HD para um SSD : Migrar Windows 10 para SSD sem formatar
Play Video about Como Transferir o Windows do HD para um SSD : Migrar Windows 10 para SSD sem formatar
Como Instalar MySQL + MySQL Workbench : Windows 10
Play Video about Como Instalar MySQL + MySQL Workbench : Windows 10
Instalação Eclipse IDE - Windows
Play Video about Instalação Eclipse IDE - Windows

Discord : WebMundi.com

Uma comunidade apaixonada por tecnologia, onde entusiastas, estudantes e profissionais de TI se reúnem.

Faça Parte do nossa Comunidade!

Junte-se a nós para aprender, colaborar e expandir seus horizontes na área de informática! 🚀
Entrar
Recentes