Ops, errei no copy/paste :)
Eis o correto:

O terceiro parâmetro da INSTR é a o número da ocorrência que deve ser procurada 
pela função:

select instr( 'ababab', 'a', 1, 1 ) posicao_do_primeiro_a from dual;

POSICAO_DO_PRIMEIRO_A
---------------------
1
select instr( 'ababab', 'a', 1, 3 ) posicao_do_terceiro_a from dual;

POSICAO_DO_TERCEIRO_A
--------------------
5


Étore Schiavini
[email protected]
51 8116.4858

From: [email protected] [mailto:[email protected]] On 
Behalf Of Étore Schiavini
Sent: quinta-feira, 4 de agosto de 2011 23:33
To: [email protected]
Subject: RE: RES: [oracle_br] [Of] - Ajuda em Consulta SQL

  
O terceiro parâmetro da INSTR é a o número da ocorrência que deve ser procurada 
pela função:

select instr( 'ababab', 'a', 1, 1 ) posicao_do_primeiro_a from dual;

POSICAO_DO_PRIMEIRO_A
---------------------
1
select instr( 'ababab', 'a', 1, 3 ) posicao_do_terceiro_a from dual;

POSICAO_DO_SEGUNDO_A
--------------------
5

Étore Schiavini
[email protected]

From: [email protected] [mailto:[email protected]] On 
Behalf Of [email protected]
Sent: quinta-feira, 4 de agosto de 2011 18:36
To: [email protected]
Subject: Re: RES: [oracle_br] [Of] - Ajuda em Consulta SQL

Jean boa tarde, 

A função INSTR me retorna a posição do primeiro caracter '#', ok funciona 
em partes, abaixo maiores explicações: 

Para o Campo 1# acho a posição do Caracter ' # ' (INSTR(AIA.description, 
'#') e com o comando LPAD (esquerda ou LEFT ) pegos os dados da coluna 
Descricao, até a posição do INSTR - 1, que me resulta no Campo 1#, ok 
funciona perfeito. 

Abaixo a função na pratica: 
LPAD(AIA.DESCRIPTION, (INSTR(AIA.description, '#')-1) ) As "Campo 1#", 

Para o Campo 2# ao invés do INSTR - 1 faço o resultado do INSTR + 1, que 
vai resultar na primeira Casa depois da posição primeiro Caracter ' # ' . 
Em parte funciona, desde que exista espaço entre o primeiro e segundo 
Caracter ' # ', veja a seguir: 
Abaixo a função na pratica: 
SUBSTR(AIA.DESCRIPTION, INSTR(AIA.description, '#')+1, 2) As "Campo 2#", 

Porem, a partir do 03 caracter a coisa muda, como encontrar a terceira vez 
que aparece o caracter "#" e quantas casas decimais terei que contar já 
que as casas decimais entre os caracters ' # ' podem ser nulas ou varias ? 

Mais uma vez obrigado 

Weslley Castilho 
Payables 
CSAV Group 
East Coast South America 
Phone: + 55 47 2103-8100 Direct 8144 

Antes de imprimir, pense em sua responsabilidade e compromisso com a 
preservação do meio ambiente. 

From: jean antunes <[email protected]> 
To: "[email protected]" <[email protected]> 
Date: 08/04/2011 04:46 PM 
Subject: Re: RES: [oracle_br] [Of] - Ajuda em Consulta SQL 
Sent by: [email protected] 

Você poderia utilizar a função "instr" para identificar a posição do 
seu separador e a função 

"substr" para fazer o split. 

Jean Carlos Antunes 
Consultor Oracle EBS 
+55 41 98744631 
+55 19 32290828begin_of_the_skype_highlighting +55 19 
32290828 end_of_the_skype_highlighting 

De: Milton Bastos Henriquis Junior <[email protected]> 
Para: "[email protected]" <[email protected]> 
Enviadas: Quinta-feira, 4 de Agosto de 2011 16:11 
Assunto: RES: [oracle_br] [Of] - Ajuda em Consulta SQL 

Ele quer exatamente o contrário do que vc sugeriu.... 
Os dados dele já estão todos numa coluna, e ele quer destrinchar essa 
coluna para várias. 

-- 
Milton Bastos 
http://miltonbastos.com 

De: [email protected] [mailto:[email protected]] Em 
nome de Jefferson Silva 
Enviada em: quinta-feira, 4 de agosto de 2011 15:59 
Para: [email protected] 
Assunto: Re: [oracle_br] [Of] - Ajuda em Consulta SQL 

Vc pode usar o pipe para fazer a concatenação: 

campo1|| ' # ' ||campo2|| ' # ' ||campo3 

Isso exibirá uma coluna somente com os valores dos campos unidos. 
É isso oq vc deseja? Senão explique novamente. 
Abraços 

________________________________ 
De: "[email protected]< 
mailto:weslley.castilho%40csavgroup.com>" <[email protected]< 
mailto:weslley.castilho%40csavgroup.com>> 
Para: [email protected]<mailto:oracle_br%40yahoogrupos.com.br> 
Enviadas: Quinta-feira, 4 de Agosto de 2011 13:31 
Assunto: [oracle_br] [Of] - Ajuda em Consulta SQL 

Pessoal boa tarde, 

Tenho o Campo (descricao) e em uma consulta (SELECT SQL) gostaria de obter 

vários campos separados pelo delimitador ' # ', existe uma função que faça 

isso? 

Alguém sugere algo ? 

Descricao 
BRNG0022#6A#1B#5C#2D#2820#Force matched due#$RADESH 
BRNG0022#6A##C#2D#28219#Force matched due#$RANA. 

Resultado 
Campo 1# Campo 2# Campo 3# Campo 4# Campo 5# 
Campo 6# Campo 7# Campo 8# 
BRNG0022 6A 1B 5C 2D 2820 
Force matched due RADESH 
BRNG0022 6A C 2D 28219 
Force matched due RANA. 

Desde já agradeço 

Weslley Castilho 
Payables 
CSAV Group 
East Coast South America 
Phone: + 55 47 2103-8100 Direct 8144 

Antes de imprimir, pense em sua responsabilidade e compromisso com a 
preservação do meio ambiente. 

[As partes desta mensagem que não continham texto foram removidas] 

[As partes desta mensagem que não continham texto foram removidas] 

Clique aqui<https://www.mailcontrol.com/sr/wQw0zmjPoHdJTZGyOCrrhg==> para 
reportar este e-mail como SPAM. 

This message has been scanned for malware by Websense. www.websense.com 

[As partes desta mensagem que não continham texto foram removidas] 

[As partes desta mensagem que não continham texto foram removidas] 

[As partes desta mensagem que não continham texto foram removidas]


Responder a