Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JhonyMega

[Resolvido] trocar valores ce uma coluna

Recommended Posts

Bom pessoal to com um problema na minha query, é o seguinte.

 

Tenho de selecionar um determinado compo de uma tabela mas este campo possui apenas 3 valore D, R, S

cadas valor se refere a um determindado seguimento EX.(D) Devolução, ® Reescrito, (S)Saldo.

 

Bom preciso selecinar estes valore e enves de retornar (D OU R OU S) presiso devolver (Devolução ou Reescrito ou Saldo).

 

tem alguma função parecida com o

 

REPLACE(campo,'D', 'Devolução ')
possa usar ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezado boa tarde.

 

A função replace também existe no Oracle, mas ela serve para substituir 1 ou N caracteres dentro de uma string por 1 ou N caracteres

O seu exemplo REPLACE(campo,'D', 'Devolução ') funcionaria num select mas não seria útil para o que você quer já que você tem 3 valores possiveis

 

você pode usar 2 formas, o comando CASE ou a função DECODE

 

select (case when campo = 'D' then 'Devolucao'

when campo = 'R' then 'Reescrito'

when campo = 'S' then 'Saldo'

else 'Outros' end)

from tabela;

 

OU

 

select decode(campo,'D','Devolucao','R','Reescrito','S','Saldo') from tabela;

 

Apesar da sintaxe do decode ser mais simples eu prefiro usar o case já que este faz parte do sql padrão enquanto a função decode só existe no oracle.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezado boa tarde.

 

A função replace também existe no Oracle, mas ela serve para substituir 1 ou N caracteres dentro de uma string por 1 ou N caracteres

O seu exemplo REPLACE(campo,'D', 'Devolução ') funcionaria num select mas não seria útil para o que você quer já que você tem 3 valores possiveis

 

você pode usar 2 formas, o comando CASE ou a função DECODE

 

select (case when campo = 'D' then 'Devolucao'

when campo = 'R' then 'Reescrito'

when campo = 'S' then 'Saldo'

else 'Outros' end)

from tabela;

 

OU

 

select decode(campo,'D','Devolucao','R','Reescrito','S','Saldo') from tabela;

 

Apesar da sintaxe do decode ser mais simples eu prefiro usar o case já que este faz parte do sql padrão enquanto a função decode só existe no oracle.

 

Valeu Amigo deu certinho ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.