JhonyMega 0 Denunciar post Postado Outubro 22, 2010 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
Ferr 0 Denunciar post Postado Outubro 22, 2010 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
guidjos 65 Denunciar post Postado Outubro 23, 2010 Use "AS". Exemplo: SELECT IdUsuario AS UserId FROM Cadastro WHERE Nome = 'João'; Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Outubro 24, 2010 Use Decode ou Case. Compartilhar este post Link para o post Compartilhar em outros sites
JhonyMega 0 Denunciar post Postado Outubro 25, 2010 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