none
Critério com data RRS feed

  • Pergunta

  • Bom dia,

    Galera!

    Gostaria de um ajuda, tenho um relatório que estou desenvolvendo onde o mesmo terá um dos parâmetros data inicial e final, daí surgiu o seguinte problema, quando executo o mesmo ele não está trazendo os registros do dia,

    exemplo:

    se passo a data inicia como 01-04-2016 ele não traz os registros deste dia, segue a query abaixo:

    Select CMD.*, ICMD.ProdCodEstr, ICMD.ItCtrlMovDevQtdCalc, P.ProdNome, E.EntNome, E2.EntNomeFant,V.VendNome, F.FuncApelido, M.MotResOrcDescr
    From Ctrl_Mov_Devolucao CMD,
         Item_Ctrl_Mov_Devolucao ICMD,
         Entidade E,
         Entidade E2,
         Produto P,
         Vendedor V,
         Funcionario F,
         Mot_Result_Orc M
    Where CMD.CtrlMovDevChv = ICMD.CtrlMovDevChv
    AND   CMD.CtrlMovDevEntCodDocOrig = E.EntCod
    AND   ICMD.ProdCodEstr = P.ProdCodEstr
    AND   V.VendCod = CMD.CtrlMovDevVendCodDocOrig
    AND   E.EntCod = CMD.CtrlMovDevEntCodDocOrig
    AND   E2.EntCod = CMD.CtrlMovDevEntCodTransDocOrig
    AND   F.FuncCod = CMD.CtrlMovDevFuncCodRespRec
    AND   CMD.CtrlMovDevMotiResOrcCodDev = M.MotResOrcCod
    AND   CMD.CtrlMovDevDataDig  BETWEEN @DataIni AND @DataFim
    AND   (CMD.CtrlMovDevDocNumOrig = @NFDevolvida or '' = @NFDevolvida)
    AND   (CMD.CtrlMovDevEntCodDocOrig = @Entidade or '' = @Entidade)
    AND   (E.EntNome like @Cliente or '' = @Cliente)
    AND   (CMD.CtrlMovDevVendCodDocOrig = @Vendedor or '' = @Vendedor)
    AND   (CMD.CtrlMovDevMotiResOrcCodDev =  @Motivo or '' =  @Motivo)
    AND   (CMD.CtrlMovDevDescComissao = @Comissao or '' = @Comissao)
    AND   (CMD.CtrlMovDevDescFrete = @Frete or '' = @Frete)
    AND   (CMD.CtrlMovDevDocNum = @DocDevol or '' = @DocDevol)
    
    Order by  CMD.CtrlMovDevDataDig
    

    sexta-feira, 29 de julho de 2016 13:39

Respostas

Todas as Respostas

  • Olá,

    Tente verificar duas coisas:

    1) Se esse dia realmente possui registros

    2) Tenta passar a data como 2016-04-01 (Talvez seja a Culture da data)

    Valeu!

    sexta-feira, 29 de julho de 2016 13:49
  • Bom dia,

    Possui registros e não tenho como passar neste formato pois estou executando através de ferramenta de relatório, o formato do banco está da seguinte forma 2011-09-21 00:00:00.000

    sexta-feira, 29 de julho de 2016 14:03
  • Tenta alterar na Query:

    CONVERT(DATETIME,@DataIni, 103)

    sexta-feira, 29 de julho de 2016 14:11
  • Bom dia,

    José!

    O problema é que não está em procedure, estou utilizando uma ferramenta de relatório dai não permite declarar desta forma se não for por procedure, será que tem outra forma de converter direto dentro da query?

    sexta-feira, 29 de julho de 2016 14:36
  • Obrigado José, fiz conforme solicitado e consegui buscar os registros.
    sexta-feira, 29 de julho de 2016 15:59
  • Acredito que assim resolva

    SELECT P.Numero ,

           P.DataPagamento ,
           P.Valor 
            FROM  Despesa.Pagamentos AS P
    WHERE Convert(DATETIME,p.DataPagamento ,105) BETWEEN Convert(DATETIME,'01-04-2016',103) AND Convert(DATETIME,'02-04-2016',103)

    sexta-feira, 29 de julho de 2016 18:28