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> 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 > [oracle_br] <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 >> >> >> > >