fbpx

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

Como utilizar esta função instr no PLSQL

Neste dica veremos 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

Oracle instr : Como utilizar esta função 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

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

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

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.

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.

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’ :

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’

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’

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

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!

Compartilhe esta matéria
  , , , , , , ,


Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.