Organizar dados por mês e ano

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
rhicky
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 58
Registrado em: Sex, 20 Jul 2007 9:48 am
Localização: S. J. do Rio Preto/SP
Rhicky

Prezados,

Tenho a consulta abaixo e quero retornar os dados organizados de forma crescente por mês e ano... porém, ao rodar a consulta é apresentada a seguinte mensagem:

Selecionar tudo

ORA-01830: a imagem do formato da data termina antes de converter a string de entrada inteira
Alterado o to_date por to_char consigo rodar a consulta, porém, ele não organiza por mês e ano - que é a forma que eu preciso organizar. Alguma solução a este problema ?

Selecionar tudo

select to_date(b.dtmudanca, 'MM/YYYY') PERIODO, count(*) QTDE
from pfunc a, pfhstfco b
where a.codcoligada = 1
and b.codcoligada = a.codcoligada
and b.dtmudanca <> a.dataadmissao
and b.dtmudanca <> a.dttransferencia
and b.dtmudanca in (select x.dtmudanca from pfhstsal x where x.codcoligada = b.codcoligada and x.chapa = b.chapa)
group by to_date(b.dtmudanca, 'MM/YYYY')
order by to_date(b.dtmudanca, 'MM/YYYY')
rogenaro
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Sex, 30 Mar 2007 7:26 pm
Localização: Londrina - PR
Rafael O. Genaro

A função to_date não deve ser utilizado sobre uma coluna/variável do tipo date.
Para a ordenação, você poderia transformar a data em um valor numérico (no formato 'yyyymm', que será ordenado cronologicamente), ou manter a coluna como date, truncando os valores por mês ( trunc(b.dtmudanca,'mm') ):

Selecionar tudo

select to_char( trunc(b.dtmudanca, 'MM'), 'mm/yyyy' ) PERIODO, count(*) QTDE
from pfunc a, pfhstfco b
where a.codcoligada = 1
and b.codcoligada = a.codcoligada
and b.dtmudanca <> a.dataadmissao
and b.dtmudanca <> a.dttransferencia
and b.dtmudanca in (select x.dtmudanca from pfhstsal x where x.codcoligada = b.codcoligada and x.chapa = b.chapa)
group by trunc(b.dtmudanca, 'MM')
order by trunc(b.dtmudanca, 'MM')
rhicky
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 58
Registrado em: Sex, 20 Jul 2007 9:48 am
Localização: S. J. do Rio Preto/SP
Rhicky

ok, obrigado pela dica.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 9 visitantes