[oracle_br] Como remover o traço

2017-06-08 Por tôpico 'Marcelino Mota' supo...@linguagem.com.br [oracle_br]
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



Re: [oracle_br] Re: Como remover o traço

2017-06-08 Por tôpico Luis Freitas lfreita...@yahoo.com [oracle_br]
Mário,
     Para o banco entender que isso ai é texto em vez de numero, precisa 
incluir a ' como o Chiappa sugeriu. 
    No PL/SQL fica algo como:
 v_sql='SELECT replace('''||v_condicao||''',''-'',) FROM DUAL';
    Mas isso pode gerar outros problemas, como muito hard parse devido ao sql 
dinâmico, e até mesmo sql injection, o melhor é usar binds, como abaixo. Nesse 
caso o banco entende que é string usando o tipo da variável v_condicao, que 
deve ser varchar2:
  v_sql:='SELECT replace(:1,''-'',) FROM DUAL';  EXECUTE IMMEDIATE v_sql 
INTO v_resultado USING v_condicao;
   Ou:
  v_sql:='SELECT replace(:1,''-'',) FROM DUAL';  OPEN v_cursor FOR  v_sql 
USING v_condicao;

Atc,Luis Freitas 

On Thursday, June 8, 2017 6:11 PM, "Mario Rodrigues 
marioirodrig...@gmail.com [oracle_br]"  wrote:
 

     Isso o valor que vai ser feito o replace é dinamico.
É PL msm ... estou tentando de outra forma .. 
Sinceramente nao faço ideia o que seja .. 
Obrigado a todos.



2017-06-08 17:45 GMT-03:00 Luis Freitas lfreita...@yahoo.com [oracle_br] 
:

     Mario,
   O seu select não tem esse valor ai né, que se fosse isso você colocava fixo 
'45063' na query e pronto, não precisava desse replace.
   Que linguagem você está usando, é PL/SQL ou outra coisa? Como você passa 
esse valor? Por bind? Ou está gerando o sql dinâmico? 
Atc,Luis Freitas

 

On Thursday, June 8, 2017 5:22 PM, "Mario Rodrigues 
marioirodrig...@gmail.com [oracle_br]"  wrote:
 

     
sim sim cara eu sei ...
na verdade nao uso o numero fixo vem de uma variavel 
na verdade é assim
replace(valor, '-','');
como falei por algum motivo num select funcionou e no outro nao 


Em 8 de junho de 2017 17:16, Vitor Junior vitorj...@gmail.com [oracle_br] 
 escreveu:

     Olha onde o Chiappa colocou as aspas. Está diferente do teu exemplo. ;)
Em qui, 8 de jun de 2017 às 17:02, Mario Rodrigues marioirodrig...@gmail.com 
[oracle_br]  escreveu:

     Oi Chiappa,
Boa Tarde
Pois eh eu tb acho obvio, porem não sei o que acontece.
Tenho uma função que tem um select que tem como clausula 
numero = replace(4506-3,'-','')dai nao me retorna nadase eu coloco 45063 ou 
'45063' retorna 
usando dbms_output.put_line desse3 replace aparece 45063 ... porem no select 
nao retorna nada ...
o tipo de dados é number ja tentei varchar e nada tb
Por isso fiz essa pergunta "meio perdida" quase na certeza que a resposta seria 
em cima da string.
o mais engraçado é tenho um outro select que usa esse mesmo replace e retorna o 
que precisa retornar .. somente nesse maldito select não vem rsrsrs
Mas ok, obrigado!


Em 8 de junho de 2017 16:53, jlchia...@yahoo.com.br [oracle_br] 
 escreveu:

     Mário, óbvio  : se vc tem uma expressão numérica, OBVIAMENTE o caracter 
'-' vai ser entendi como um sinal de substração, né não ??? E óbvio#2, tá 
Documentado que a função REPLACE trabalha com strings...
 Então para atender aos dois pontos simplesmente TRANSFORME esse número em 
STRING, fechando a expressão com aspas, assim :

SELECT replace('4506-3', '-', '') FROM DUAL;

[]s

  Chiappa   

   
-- 
Att,/Regards,

Vitor Jr.
https://br.linkedin.com/in/ vitorjunior81

   

  

  

  #yiv9427911643 #yiv9427911643 -- #yiv9427911643ygrp-mkp {border:1px solid 
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv9427911643 
#yiv9427911643ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv9427911643 
#yiv9427911643ygrp-mkp #yiv9427911643hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv9427911643 #yiv9427911643ygrp-mkp #yiv9427911643ads 
{margin-bottom:10px;}#yiv9427911643 #yiv9427911643ygrp-mkp .yiv9427911643ad 
{padding:0 0;}#yiv9427911643 #yiv9427911643ygrp-mkp .yiv9427911643ad p 
{margin:0;}#yiv9427911643 #yiv9427911643ygrp-mkp .yiv9427911643ad a 
{color:#ff;text-decoration:none;}#yiv9427911643 #yiv9427911643ygrp-sponsor 
#yiv9427911643ygrp-lc {font-family:Arial;}#yiv9427911643 
#yiv9427911643ygrp-sponsor #yiv9427911643ygrp-lc #yiv9427911643hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv9427911643 
#yiv9427911643ygrp-sponsor #yiv9427911643ygrp-lc .yiv9427911643ad 
{margin-bottom:10px;padding:0 0;}#yiv9427911643 #yiv9427911643actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv9427911643 
#yiv9427911643activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv9427911643
 #yiv9427911643activity span {font-weight:700;}#yiv9427911643 
#yiv9427911643activity span:first-child 
{text-transform:uppercase;}#yiv9427911643 #yiv9427911643activity span a 
{color:#5085b6;text-decoration:none;}#yiv9427911643 #yiv9427911643activity span 
span {color:#ff7900;}#yiv9427911643 #yiv9427911643activity span 
.yiv9427911643underline {text-decoration:underline;}#yiv9427911643 
.yiv9427911643attach 

Re: [oracle_br] Re: Como remover o traço

2017-06-08 Por tôpico Mario Rodrigues marioirodrig...@gmail.com [oracle_br]
Isso o valor que vai ser feito o replace é dinamico.

É PL msm ... estou tentando de outra forma ..

Sinceramente nao faço ideia o que seja ..

Obrigado a todos.



2017-06-08 17:45 GMT-03:00 Luis Freitas lfreita...@yahoo.com [oracle_br] <
oracle_br@yahoogrupos.com.br>:

>
>
> Mario,
>
>O seu select não tem esse valor ai né, que se fosse isso você colocava
> fixo '45063' na query e pronto, não precisava desse replace.
>
>Que linguagem você está usando, é PL/SQL ou outra coisa? Como você
> passa esse valor? Por bind? Ou está gerando o sql dinâmico?
>
> Atc,
> Luis Freitas
>
>
>
>
> On Thursday, June 8, 2017 5:22 PM, "Mario Rodrigues
> marioirodrig...@gmail.com [oracle_br]" 
> wrote:
>
>
>
>
> sim sim cara eu sei ...
>
> na verdade nao uso o numero fixo vem de uma variavel
>
> na verdade é assim
>
> replace(valor, '-','');
>
> como falei por algum motivo num select funcionou e no outro nao
>
>
>
> Em 8 de junho de 2017 17:16, Vitor Junior vitorj...@gmail.com [oracle_br]
>  escreveu:
>
>
> Olha onde o Chiappa colocou as aspas. Está diferente do teu exemplo. ;)
>
> Em qui, 8 de jun de 2017 às 17:02, Mario Rodrigues
> marioirodrig...@gmail.com [oracle_br] 
> escreveu:
>
>
> Oi Chiappa,
>
> Boa Tarde
>
> Pois eh eu tb acho obvio, porem não sei o que acontece.
>
> Tenho uma função que tem um select que tem como clausula
>
> numero = replace(4506-3,'-','')
> dai nao me retorna nada
> se eu coloco 45063 ou '45063' retorna
>
> usando dbms_output.put_line desse3 replace aparece 45063 ... porem no
> select nao retorna nada ...
>
> o tipo de dados é number ja tentei varchar e nada tb
>
> Por isso fiz essa pergunta "meio perdida" quase na certeza que a resposta
> seria em cima da string.
>
> o mais engraçado é tenho um outro select que usa esse mesmo replace e
> retorna o que precisa retornar .. somente nesse maldito select não vem
> rsrsrs
>
> Mas ok, obrigado!
>
>
>
> Em 8 de junho de 2017 16:53, jlchia...@yahoo.com.br [oracle_br] <
> oracle_br@yahoogrupos.com.br> escreveu:
>
>
> Mário, óbvio  : se vc tem uma expressão numérica, OBVIAMENTE o caracter
> '-' vai ser entendi como um sinal de substração, né não ??? E óbvio#2, tá
> Documentado que a função REPLACE trabalha com strings...
>  Então para atender aos dois pontos simplesmente TRANSFORME esse número em
> STRING, fechando a expressão com aspas, assim :
>
> SELECT replace('4506-3', '-', '') FROM DUAL;
>
> []s
>
>   Chiappa
>
>
> --
> Att,/Regards,
>
> Vitor Jr.
> https://br.linkedin.com/in/ vitorjunior81
> 
>
>
>
>
> 
>


Re: [oracle_br] Re: Como remover o traço

2017-06-08 Por tôpico Luis Freitas lfreita...@yahoo.com [oracle_br]
Mario,
   O seu select não tem esse valor ai né, que se fosse isso você colocava fixo 
'45063' na query e pronto, não precisava desse replace.
   Que linguagem você está usando, é PL/SQL ou outra coisa? Como você passa 
esse valor? Por bind? Ou está gerando o sql dinâmico? 
Atc,Luis Freitas

 

On Thursday, June 8, 2017 5:22 PM, "Mario Rodrigues 
marioirodrig...@gmail.com [oracle_br]"  wrote:
 

     
sim sim cara eu sei ...
na verdade nao uso o numero fixo vem de uma variavel 
na verdade é assim
replace(valor, '-','');
como falei por algum motivo num select funcionou e no outro nao 


Em 8 de junho de 2017 17:16, Vitor Junior vitorj...@gmail.com [oracle_br] 
 escreveu:

     Olha onde o Chiappa colocou as aspas. Está diferente do teu exemplo. ;)
Em qui, 8 de jun de 2017 às 17:02, Mario Rodrigues marioirodrig...@gmail.com 
[oracle_br]  escreveu:

     Oi Chiappa,
Boa Tarde
Pois eh eu tb acho obvio, porem não sei o que acontece.
Tenho uma função que tem um select que tem como clausula 
numero = replace(4506-3,'-','')dai nao me retorna nadase eu coloco 45063 ou 
'45063' retorna 
usando dbms_output.put_line desse3 replace aparece 45063 ... porem no select 
nao retorna nada ...
o tipo de dados é number ja tentei varchar e nada tb
Por isso fiz essa pergunta "meio perdida" quase na certeza que a resposta seria 
em cima da string.
o mais engraçado é tenho um outro select que usa esse mesmo replace e retorna o 
que precisa retornar .. somente nesse maldito select não vem rsrsrs
Mas ok, obrigado!


Em 8 de junho de 2017 16:53, jlchia...@yahoo.com.br [oracle_br] 
 escreveu:

     Mário, óbvio  : se vc tem uma expressão numérica, OBVIAMENTE o caracter 
'-' vai ser entendi como um sinal de substração, né não ??? E óbvio#2, tá 
Documentado que a função REPLACE trabalha com strings...
 Então para atender aos dois pontos simplesmente TRANSFORME esse número em 
STRING, fechando a expressão com aspas, assim :

SELECT replace('4506-3', '-', '') FROM DUAL;

[]s

  Chiappa   

   
-- 
Att,/Regards,

Vitor Jr.
https://br.linkedin.com/in/ vitorjunior81

   

  #yiv7430258789 #yiv7430258789 -- #yiv7430258789ygrp-mkp {border:1px solid 
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv7430258789 
#yiv7430258789ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv7430258789 
#yiv7430258789ygrp-mkp #yiv7430258789hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv7430258789 #yiv7430258789ygrp-mkp #yiv7430258789ads 
{margin-bottom:10px;}#yiv7430258789 #yiv7430258789ygrp-mkp .yiv7430258789ad 
{padding:0 0;}#yiv7430258789 #yiv7430258789ygrp-mkp .yiv7430258789ad p 
{margin:0;}#yiv7430258789 #yiv7430258789ygrp-mkp .yiv7430258789ad a 
{color:#ff;text-decoration:none;}#yiv7430258789 #yiv7430258789ygrp-sponsor 
#yiv7430258789ygrp-lc {font-family:Arial;}#yiv7430258789 
#yiv7430258789ygrp-sponsor #yiv7430258789ygrp-lc #yiv7430258789hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv7430258789 
#yiv7430258789ygrp-sponsor #yiv7430258789ygrp-lc .yiv7430258789ad 
{margin-bottom:10px;padding:0 0;}#yiv7430258789 #yiv7430258789actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv7430258789 
#yiv7430258789activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv7430258789
 #yiv7430258789activity span {font-weight:700;}#yiv7430258789 
#yiv7430258789activity span:first-child 
{text-transform:uppercase;}#yiv7430258789 #yiv7430258789activity span a 
{color:#5085b6;text-decoration:none;}#yiv7430258789 #yiv7430258789activity span 
span {color:#ff7900;}#yiv7430258789 #yiv7430258789activity span 
.yiv7430258789underline {text-decoration:underline;}#yiv7430258789 
.yiv7430258789attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv7430258789 .yiv7430258789attach div a 
{text-decoration:none;}#yiv7430258789 .yiv7430258789attach img 
{border:none;padding-right:5px;}#yiv7430258789 .yiv7430258789attach label 
{display:block;margin-bottom:5px;}#yiv7430258789 .yiv7430258789attach label a 
{text-decoration:none;}#yiv7430258789 blockquote {margin:0 0 0 
4px;}#yiv7430258789 .yiv7430258789bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv7430258789 
.yiv7430258789bold a {text-decoration:none;}#yiv7430258789 dd.yiv7430258789last 
p a {font-family:Verdana;font-weight:700;}#yiv7430258789 dd.yiv7430258789last p 
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv7430258789 
dd.yiv7430258789last p span.yiv7430258789yshortcuts 
{margin-right:0;}#yiv7430258789 div.yiv7430258789attach-table div div a 
{text-decoration:none;}#yiv7430258789 div.yiv7430258789attach-table 
{width:400px;}#yiv7430258789 div.yiv7430258789file-title a, #yiv7430258789 
div.yiv7430258789file-title a:active, #yiv7430258789 
div.yiv7430258789file-title a:hover, #yiv7430258789 

Re: [oracle_br] Re: Como remover o traço

2017-06-08 Por tôpico Mario Rodrigues marioirodrig...@gmail.com [oracle_br]
sim sim cara eu sei ...

na verdade nao uso o numero fixo vem de uma variavel

na verdade é assim

replace(valor, '-','');

como falei por algum motivo num select funcionou e no outro nao



Em 8 de junho de 2017 17:16, Vitor Junior vitorj...@gmail.com [oracle_br] <
oracle_br@yahoogrupos.com.br> escreveu:

>
>
> Olha onde o Chiappa colocou as aspas. Está diferente do teu exemplo. ;)
>
> Em qui, 8 de jun de 2017 às 17:02, Mario Rodrigues
> marioirodrig...@gmail.com [oracle_br] 
> escreveu:
>
>>
>>
>> Oi Chiappa,
>>
>> Boa Tarde
>>
>> Pois eh eu tb acho obvio, porem não sei o que acontece.
>>
>> Tenho uma função que tem um select que tem como clausula
>>
>> numero = replace(4506-3,'-','')
>> dai nao me retorna nada
>> se eu coloco 45063 ou '45063' retorna
>>
>> usando dbms_output.put_line desse3 replace aparece 45063 ... porem no
>> select nao retorna nada ...
>>
>> o tipo de dados é number ja tentei varchar e nada tb
>>
>> Por isso fiz essa pergunta "meio perdida" quase na certeza que a resposta
>> seria em cima da string.
>>
>> o mais engraçado é tenho um outro select que usa esse mesmo replace e
>> retorna o que precisa retornar .. somente nesse maldito select não vem
>> rsrsrs
>>
>> Mas ok, obrigado!
>>
>>
>>
>>
>> Em 8 de junho de 2017 16:53, jlchia...@yahoo.com.br [oracle_br] <
>> oracle_br@yahoogrupos.com.br> escreveu:
>>
>>>
>>>
>>> Mário, óbvio  : se vc tem uma expressão numérica, OBVIAMENTE o caracter
>>> '-' vai ser entendi como um sinal de substração, né não ??? E óbvio#2, tá
>>> Documentado que a função REPLACE trabalha com strings...
>>>  Então para atender aos dois pontos simplesmente TRANSFORME esse número
>>> em STRING, fechando a expressão com aspas, assim :
>>>
>>> SELECT replace('4506-3', '-', '') FROM DUAL;
>>>
>>> []s
>>>
>>>   Chiappa
>>>
>>
>> --
> Att,/Regards,
>
> Vitor Jr.
> https://br.linkedin.com/in/vitorjunior81
>
> 
>


Re: [oracle_br] Re: Como remover o traço

2017-06-08 Por tôpico Vitor Junior vitorj...@gmail.com [oracle_br]
Testado num mysql que tá a mão... hehehe
mysql>
mysql> SELECT replace('4506-3', '-', '') FROM DUAL;
++
| replace('4506-3', '-', '') |
++
| 45063  |
++
1 row in set (0.24 sec)

mysql>



Em qui, 8 de jun de 2017 às 17:16, Vitor Junior 
escreveu:

> Olha onde o Chiappa colocou as aspas. Está diferente do teu exemplo. ;)
>
> Em qui, 8 de jun de 2017 às 17:02, Mario Rodrigues
> marioirodrig...@gmail.com [oracle_br] 
> escreveu:
>
>>
>>
>> Oi Chiappa,
>>
>> Boa Tarde
>>
>> Pois eh eu tb acho obvio, porem não sei o que acontece.
>>
>> Tenho uma função que tem um select que tem como clausula
>>
>> numero = replace(4506-3,'-','')
>> dai nao me retorna nada
>> se eu coloco 45063 ou '45063' retorna
>>
>> usando dbms_output.put_line desse3 replace aparece 45063 ... porem no
>> select nao retorna nada ...
>>
>> o tipo de dados é number ja tentei varchar e nada tb
>>
>> Por isso fiz essa pergunta "meio perdida" quase na certeza que a resposta
>> seria em cima da string.
>>
>> o mais engraçado é tenho um outro select que usa esse mesmo replace e
>> retorna o que precisa retornar .. somente nesse maldito select não vem
>> rsrsrs
>>
>> Mas ok, obrigado!
>>
>>
>>
>>
>> Em 8 de junho de 2017 16:53, jlchia...@yahoo.com.br [oracle_br] <
>> oracle_br@yahoogrupos.com.br> escreveu:
>>
>>>
>>>
>>> Mário, óbvio  : se vc tem uma expressão numérica, OBVIAMENTE o caracter
>>> '-' vai ser entendi como um sinal de substração, né não ??? E óbvio#2, tá
>>> Documentado que a função REPLACE trabalha com strings...
>>>  Então para atender aos dois pontos simplesmente TRANSFORME esse número
>>> em STRING, fechando a expressão com aspas, assim :
>>>
>>> SELECT replace('4506-3', '-', '') FROM DUAL;
>>>
>>> []s
>>>
>>>   Chiappa
>>>
>>
>> 
>>
> --
> Att,/Regards,
>
> Vitor Jr.
> https://br.linkedin.com/in/vitorjunior81
>
> --
Att,/Regards,

Vitor Jr.
https://br.linkedin.com/in/vitorjunior81


Re: [oracle_br] Re: Como remover o traço

2017-06-08 Por tôpico Vitor Junior vitorj...@gmail.com [oracle_br]
Olha onde o Chiappa colocou as aspas. Está diferente do teu exemplo. ;)

Em qui, 8 de jun de 2017 às 17:02, Mario Rodrigues marioirodrig...@gmail.com
[oracle_br]  escreveu:

>
>
> Oi Chiappa,
>
> Boa Tarde
>
> Pois eh eu tb acho obvio, porem não sei o que acontece.
>
> Tenho uma função que tem um select que tem como clausula
>
> numero = replace(4506-3,'-','')
> dai nao me retorna nada
> se eu coloco 45063 ou '45063' retorna
>
> usando dbms_output.put_line desse3 replace aparece 45063 ... porem no
> select nao retorna nada ...
>
> o tipo de dados é number ja tentei varchar e nada tb
>
> Por isso fiz essa pergunta "meio perdida" quase na certeza que a resposta
> seria em cima da string.
>
> o mais engraçado é tenho um outro select que usa esse mesmo replace e
> retorna o que precisa retornar .. somente nesse maldito select não vem
> rsrsrs
>
> Mas ok, obrigado!
>
>
>
>
> Em 8 de junho de 2017 16:53, jlchia...@yahoo.com.br [oracle_br] <
> oracle_br@yahoogrupos.com.br> escreveu:
>
>>
>>
>> Mário, óbvio  : se vc tem uma expressão numérica, OBVIAMENTE o caracter
>> '-' vai ser entendi como um sinal de substração, né não ??? E óbvio#2, tá
>> Documentado que a função REPLACE trabalha com strings...
>>  Então para atender aos dois pontos simplesmente TRANSFORME esse número
>> em STRING, fechando a expressão com aspas, assim :
>>
>> SELECT replace('4506-3', '-', '') FROM DUAL;
>>
>> []s
>>
>>   Chiappa
>>
>
> 
>
-- 
Att,/Regards,

Vitor Jr.
https://br.linkedin.com/in/vitorjunior81


Re: [oracle_br] Re: Como remover o traço

2017-06-08 Por tôpico Mario Rodrigues marioirodrig...@gmail.com [oracle_br]
Oi Chiappa,

Boa Tarde

Pois eh eu tb acho obvio, porem não sei o que acontece.

Tenho uma função que tem um select que tem como clausula

numero = replace(4506-3,'-','')
dai nao me retorna nada
se eu coloco 45063 ou '45063' retorna

usando dbms_output.put_line desse3 replace aparece 45063 ... porem no
select nao retorna nada ...

o tipo de dados é number ja tentei varchar e nada tb

Por isso fiz essa pergunta "meio perdida" quase na certeza que a resposta
seria em cima da string.

o mais engraçado é tenho um outro select que usa esse mesmo replace e
retorna o que precisa retornar .. somente nesse maldito select não vem
rsrsrs

Mas ok, obrigado!



Em 8 de junho de 2017 16:53, jlchia...@yahoo.com.br [oracle_br] <
oracle_br@yahoogrupos.com.br> escreveu:

>
>
> Mário, óbvio  : se vc tem uma expressão numérica, OBVIAMENTE o caracter
> '-' vai ser entendi como um sinal de substração, né não ??? E óbvio#2, tá
> Documentado que a função REPLACE trabalha com strings...
>  Então para atender aos dois pontos simplesmente TRANSFORME esse número em
> STRING, fechando a expressão com aspas, assim :
>
> SELECT replace('4506-3', '-', '') FROM DUAL;
>
> []s
>
>   Chiappa
> 
>


[oracle_br] Re: Como remover o traço

2017-06-08 Por tôpico jlchia...@yahoo.com.br [oracle_br]
Mário, óbvio  : se vc tem uma expressão numérica, OBVIAMENTE o caracter '-' vai 
ser entendi como um sinal de substração, né não ??? E óbvio#2, tá Documentado 
que a função REPLACE trabalha com strings...
 Então para atender aos dois pontos simplesmente TRANSFORME esse número em 
STRING, fechando a expressão com aspas, assim :

SELECT replace('4506-3', '-', '') FROM DUAL;

[]s

  Chiappa

[oracle_br] Como remover o traço

2017-06-08 Por tôpico Mario Rodrigues marioirodrig...@gmail.com [oracle_br]
Pessoal,

Boa Tarde


Como faço para isso

SELECT replace(4506-3,'-','') FROM DUAL

Funcionar??

dessa forma ai ele me retorna 4503 ...