Decode To_Char com dois meses

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
cassinha
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Sex, 21 Mai 2010 9:49 am
Localização: são PAULO

Bom dia

Peguei este exemplo neste forum, ao qual resolveu o meu problema, porem preciso fazer uma adaptacao... no exemplo abaixo ele pega mês a mês.... eu preciso que invez dele pegar um mês, pegue dois...tres... etc

Selecionar tudo

select 
L.Codigo, L.Descricao 
, Sum(Decode(To_Char(L.Data, 'mm'), '02' or Decode(To_Char(L.Data, 'mm'), '01' , 
Case When Debito Is Not Null And 
Partida Is Not Null Then -L.Valor 
when credito is not null then L.Valor end )) janeiro 

, Sum(Decode(To_Char(L.Data, 'mm'), '03', 
Case When Debito Is Not Null And 
Partida Is Not Null Then -L.Valor 
When Credito Is Not Null Then L.Valor End ) ) fevereiro 
....... 

A funcao Decode(To_Char(L.Data, 'mm'), '01' que especifica que é mês um correto, teria como colocar algo assim:

Decode(To_Char(L.Data, 'mm'), '01' and Decode(To_Char(L.Data, 'mm'), '02' ? ou seja, pra ele somar os campos do mês 1 e dois na mesma coluna? tentei dessa forma mais deu erro, como poderia fazer isso?

Obrigado

Cassinha
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

apos usar o to_number() você podera somar normalmente

tem a funcao add_months() tambem
cassinha
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Sex, 21 Mai 2010 9:49 am
Localização: são PAULO

Obrigada Vitor por responder...

poderia me dar um exemplo... usando os dados acima?
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Vê se te ajuda essa idéia:

Selecionar tudo

SELECT SUM(DECODE(grade,1,losal,0)) +  SUM(DECODE(grade,2,losal,0))
FROM salgrade;
Qualquer coisa, manda pra gente.
cassinha
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Sex, 21 Mai 2010 9:49 am
Localização: são PAULO

então, não consegui incluir seu exemplo, no meu exemplo acima...

, Sum(Decode(To_Char(L.Data, 'mm'),'01',
Case When Debito Is Not Null And
Partida Is Not Null Then -L.Valor
When Credito Is Not Null Then L.Valor End ) )-S.Valor Janeiro

, Sum(Decode(To_Char(L.Data, 'mm'), '02',
Case When Debito Is Not Null And
Partida Is Not Null Then -L.Valor
When Credito Is Not Null Then L.Valor End ))-S.Valor Fevereiro

se eu quisesse pegar invez de mês de janeiro..... depois mês de fevereiro... pegar janeiro e fevereiro e marco.... depois abril e maio(juntos)

somar os meses e apresentar....
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Google Adsense [Bot] e 2 visitantes