Aprenda PL/SQL

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
  

Mensagemem Qua, 20 Jul 2016 5:36 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.


Código: Selecionar todos
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

Mensagemem Qui, 21 Jul 2016 7:26 am

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

:D
douglasmattos

Mensagemem Sáb, 06 Ago 2016 9:45 am

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:
Código: Selecionar todos
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
geovani
Localização: Joinville-SC

Geovani Cristofolini
Consultor de Business intelligence
http://useweknow.com



Voltar para SQL

Quem está online

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