Uso a combinação de translate e replace abaixo:
replace(trim(translate( c_text ,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðñòóôõöùúûüýÿ!&<>\' || chr( 9) || chr( 10) || chr( 13) || chr( 34) || chr( 39) ,'AAAAAACEEEEIIIINOOOOOUUUUYaaaaaaceeeeiiiionooooouuuuyy e ' || chr(182) || chr(182) || chr(182) || chr(182) || chr(182) ) ),chr(182),null ); Abraço Sérgio Pennacchiotti De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Enviada em: Friday, June 09, 2017 11:27 Para: oracle_br@yahoogrupos.com.br Assunto: Re: [oracle_br] Como remover o traço @Mario Rodrigues, Tente utilizar essa função aqui: http://blog.gaudencio.net.br/2015/11/oracle-funcao-para-remover-caracteres.html Essa função serve para remover caracteres especiais de string e deixar somente letras e numero, assim atende sua lógica e não precisa ficar pensando em utilizar replace. Att, Emerson 2017-06-09 9:42 GMT-03:00 Mario Rodrigues marioirodrig...@gmail.com <mailto:marioirodrig...@gmail.com> [oracle_br] <oracle_br@yahoogrupos.com.br <mailto:oracle_br@yahoogrupos.com.br> >: Pessoal, Serio ... pq este funciona SELECT nvl(round(VALOR,2),0) into v_custo FROM TABELA1 WHERE ITEM = replace(coditem,'-','') ; e este não SELECT nvl(round(VALOR,2),0) INTO v_preco_original FROM TABELA2 WHERE CODIGO_ITEM = replace(coditem,'-','') ; Tipo de dados do ITEM e CODIGO_ITEM são os mesmos. O que mais eu posso ver??? Em 9 de junho de 2017 09:15, Mario Rodrigues <marioirodrig...@gmail.com <mailto:marioirodrig...@gmail.com> > escreveu: Bom Dia pessoal Pois eh ... ate criei uma funcão FUNCTION CONVERTCODITEM(p_coditem in VARCHAR2) RETURN NUMBER IS item NUMBER(20); BEGIN SELECT NOVOITEM INTO item from( SELECT SUBSTR(replace(p_coditem,'-',''), 1, LENGTH(replace(p_coditem,'-','')) - 1) NOVOITEM FROM DUAL); RETURN(item); END; preciso que o codigo 4506-3 retorne somente 4506 .. nao sei mesmo o motivo disso estar acontecendo, pois como falei em outro select em outra funcao funciona perfeitamente .. o tipo de dados é VARCHAR2 .. Em 9 de junho de 2017 00:14, 'Marcelino Mota' supo...@linguagem.com.br <mailto:supo...@linguagem.com.br> [oracle_br] <oracle_br@yahoogrupos.com.br <mailto:oracle_br@yahoogrupos.com.br> > escreveu: Mario, Verifica o tipo de dado que você esta usando se é char ou varchar2 apesar de serem strings, se comportam de maneira diferente. Att. Marcelino [As partes desta mensagem que não continham texto foram removidas]