Saudações !!!
Caros amigos, no PL/SQL através de um select preciso localizar uma determinada palavra em um campo do tipo LONG. Alguém sabe como posso fazer isso ?
Desde já agradeço atenção dispensada,
CelsoBtu
Procurar texto em Campo Long
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Dá uma olhada na DBMS_LOB. Tem uma série de funções relacionadas a campos longos.
SQL> DESC DBMS_LOB
-
- Rank: Estagiário Pleno
- Mensagens: 7
- Registrado em: Qui, 23 Mar 2006 11:23 am
- Localização: Botucatu - SP
Olá Amigão, eu verifiquei um exemplo que está postado no tópico http://glufke.net/oracle/viewtopic.php?t=247 e quando realizo esse teste aqui na minha base apresenta o seguinte erro:
Desde já agradeço pela atenção dispensada.
CelsoBtu
select DBMS_LOB.SUBSTR (o.obs_st_observacao, 4000, 1) from vendas.ven_observacao o
"ORA-00997: illegal use of LONG datatype"
CelsoBtu
- Toad
- Rank: DBA Pleno
- Mensagens: 253
- Registrado em: Sex, 18 Nov 2005 2:14 pm
- Localização: Seattle, WA
- Contato:
Matheus Gonçalves
matheus.dev
twitter.com/developer__c
matheus.dev
twitter.com/developer__c
Não sei se pode te ajudar... mas
Fiz essa função pois precisava verificar dentro de um texto se uma parte dele se repetia.
Ficou tosco, dá para ser melhorado!
Dá uma olhada aí:
Fiz essa função pois precisava verificar dentro de um texto se uma parte dele se repetia.
Ficou tosco, dá para ser melhorado!
Dá uma olhada aí:
FUNCTION repete(texto varchar2) RETURN boolean IS
tamanho number;
virgula number;
inicio number;
contador number;
pedaco varchar2(10);
fim number;
resposta boolean := false;
BEGIN
tamanho := length(texto);
if tamanho > 0 then
contador := 0;
virgula := 0;
inicio := 0;
loop
inicio := virgula + 1;
contador := contador + 1;
virgula := instr(texto,',',1,contador);
fim := virgula-inicio;
pedaco := substr(texto,inicio,fim);
if instr(texto,pedaco,1,2) > 0 then
resposta := true;
end if;
if (virgula = tamanho) or (resposta = true) then
exit;
end if;
end loop;
end if;
return resposta;
END;
-
- Rank: Estagiário Pleno
- Mensagens: 7
- Registrado em: Ter, 29 Jul 2008 10:48 am
- Localização: São Paulo - SP
Olá Galera, bom dia.
Estou com problema e preciso de ajuda.
Preciso fazer a consultade uma palavra num campo do tipo "LONG" no Oracle 9i e me retorna uma msg de tabela não indexada.
Como resolver esse problema.
Valeu
Estou com problema e preciso de ajuda.
Preciso fazer a consultade uma palavra num campo do tipo "LONG" no Oracle 9i e me retorna uma msg de tabela não indexada.
Como resolver esse problema.
Valeu
Eu tb estou enfrentando esse problema e até agora não consegui uma maneira de fazer uma consulta na minha base.
você consegui alguma maneira de consultar uma tabela que possui um campo long e localizar determinada palavra?
obrigado
Rmario36
você consegui alguma maneira de consultar uma tabela que possui um campo long e localizar determinada palavra?
obrigado
Rmario36
-
- Rank: Estagiário Júnior
- Mensagens: 1
- Registrado em: Ter, 16 Dez 2008 4:13 pm
- Localização: RS
Galera,
Para contar quantas vezes um registro aparece no texto, uma maneira é esta:
No Exemplo quero saber quantas vezes a letra "a" aparece no texto, o resultado será 8 vezes.
Abraço
Para contar quantas vezes um registro aparece no texto, uma maneira é esta:
SELECT length('abracadabrasasasaswetretre') - length(replace('abracadabrasasasaswetretre','a'))
FROM DUAL;
Abraço
- fsitja
- Rank: OraSauro
- Mensagens: 611
- Registrado em: Seg, 19 Jan 2009 4:29 pm
- Localização: Gaúcho no Rio de Janeiro - RJ
"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html
OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html
OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist
O Oracle 11g introduziu a função abaixo, que faz contagem de ocorrências de um padrão num string diretamente.
http://download.oracle.com/docs/cd/E118 ... ons145.htm
Abraço,
Francisco.
SELECT REGEXP_COUNT('abracadabrasasasaswetretre', 'a', 1, 'i') REGEXP_COUNT
FROM DUAL;
Abraço,
Francisco.
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Bing [Bot], Google Adsense [Bot] e 27 visitantes