[RESOLVIDO] Erro no Ireport (Banco postgresql)

3 respostas
ireportpostgresql
Z

O erro é que quando coloco o mesmo codigo que uso no postgresql e funciona normalmente, não funciona no Ireport, tentei colocar parenteses na parte : dtpagamento >= ‘2017-11-01’ and dtpagamento <= ‘2017-11-30’ and idempresa = 4863 porem qnd coloco aparece outro erro dizendo “Operator does not exist numeric = boolean”

SELECT
contaspagar.“idcontaspagar” AS contaspagar_idcontaspagar,
contaspagar.“dtpagamento” AS contaspagar_dtpagamento,
contaspagar.“idempresa” AS contaspagar_idempresa,
contaspagar.“vlrdesconto” AS contaspagar_vlrdesconto
FROM
"public".“contaspagar” contaspagar
WHERE
contaspagar.“vlrdesconto” = dtpagamento >= ‘2017-11-01’ and dtpagamento <= ‘2017-11-30’ and idempresa = 4863

3 Respostas

Jonathan_Medeiros

Vi que você já resolveu o problema, porém gostaria de mencionar uma pequena melhoria que pode ser realizada em seu SQL.

Ao invés de utilizar os comparadores >= e <= você pode usar Between, passando o intervalo de datas conforme abaixo, isso deixa seu SQL mais elegante e mais legível.

DTPAGAMENTO BETWEEN '01/11/2017' AND '30/11/2017'

Z

Obrigado amigo, é uma boa melhoria mesmo e que eu estava a procura do significado do between.

Jonathan_Medeiros

Between em banco de dados tem o mesmo significado que o de sua tradução, ou seja, siginifica “entre”.
Ele atende perfeitamente a regra de consulta por intervalos, ou seja, retorne para mim os registros entre o valor inicial e valor final da condição.

Criado 5 de dezembro de 2017
Ultima resposta 5 de dez. de 2017
Respostas 3
Participantes 2