ora-00932 inconsisten datatypes: expected DATE got NUMBER

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
douglasmattos
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 75
Registrado em: Seg, 19 Mar 2012 2:28 pm

Pessoal, preciso de um help!!!!

Estou desenvolvendo um relatório no reports e quando coloco a consulta da o seguinte erro:
ora-00932 inconsisten datatypes: expected DATE got NUMBER
apontando para alinha onde tem o trunc.

Selecionar tudo

SELECT   contador.DATA,unid_int.ds_unid_int,especialid.ds_especialid especialidade, COUNT (*) censo_espec, 0 paciente_dia
		              FROM dbamv.mov_int,
		                   dbamv.unid_int,
		                   dbamv.leito,
		                   dbamv.atendime,
		                   dbamv.especialid,
                           (SELECT (:p_dt_ini - 1) + ROWNUM DATA FROM dbamv.cid WHERE (:p_dt_ini - 1) + ROWNUM <= :p_dt_fim) contador
		             WHERE TRUNC (dt_mov_int) <= contador.DATA - 1
		               AND TRUNC (NVL (dt_lib_mov, SYSDATE)) > contador.DATA - 1
		               AND tp_mov IN ('O', 'I')
		               AND leito.cd_unid_int = unid_int.cd_unid_int
		               AND atendime.cd_especialid = especialid.cd_especialid
		               AND mov_int.cd_atendimento = atendime.cd_atendimento
		               AND atendime.tp_atendimento = 'I'
		               AND mov_int.cd_leito = leito.cd_leito
		               AND atendime.cd_multi_empresa = 3
		               --&prm_unid_int
                        AND leito.cd_unid_int = 52
		               AND atendime.cd_atendimento_pai IS NULL
		          GROUP BY contador.DATA,unid_int.ds_unid_int,especialid.ds_especialid
douglasmattos
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 75
Registrado em: Seg, 19 Mar 2012 2:28 pm

Consegui resolver pessoal.
configurei o parametro no reports do tipo DATE.

:D
geovani
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 20
Registrado em: Sáb, 06 Ago 2016 9:22 am
Localização: Joinville-SC
Contato:
Geovani Cristofolini
Consultor de Business intelligence
http://useweknow.com

Olá Douglas,

Legal que deu certo!

No código SQL, se converter o parâmetro para data irá resolver.
basta acrescentar to_date(:p_dt_ini) e to_date(:p_dt_fim)

Segue o código:

Selecionar tudo

SELECT   contador.DATA,unid_int.ds_unid_int,especialid.ds_especialid especialidade, COUNT (*) censo_espec, 0 paciente_dia
                    FROM dbamv.mov_int,
                         dbamv.unid_int,
                         dbamv.leito,
                         dbamv.atendime,
                         dbamv.especialid,
                           (SELECT (to_date(:p_dt_ini) - 1) + ROWNUM DATA FROM dbamv.cid WHERE (to_date(:p_dt_ini) - 1) + ROWNUM <= to_date(:p_dt_fim)) contador
                   WHERE TRUNC (dt_mov_int) <= contador.DATA - 1
                     AND TRUNC (NVL (dt_lib_mov, SYSDATE)) > contador.DATA - 1
                     AND tp_mov IN ('O', 'I')
                     AND leito.cd_unid_int = unid_int.cd_unid_int
                     AND atendime.cd_especialid = especialid.cd_especialid
                     AND mov_int.cd_atendimento = atendime.cd_atendimento
                     AND atendime.tp_atendimento = 'I'
                     AND mov_int.cd_leito = leito.cd_leito
                     AND atendime.cd_multi_empresa = 3
                     --&prm_unid_int
                        AND leito.cd_unid_int = 52
                     AND atendime.cd_atendimento_pai IS NULL
                GROUP BY contador.DATA,unid_int.ds_unid_int,especialid.ds_especialid
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante