between - considerar data final??

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Mensagemem Qui, 02 Fev 2006 8:18 am

Olá Pessoal.

Tenho a seguinte query:

Código: Selecionar todos
select t.trx_number,
         t.lote,
         t.venda_pax,
         t.venda_comissao,
         l.valor_lote,
         l.data,
         l.qtd_lancamentos
from
        bx_tbl_transacao t inner join bx_tbl_lote l
        on (t.lote = l.lote)
where
       data between '31/01/2006' and '02/02/2006'


O problema é o seguinte, a query só retorna os dados dos dias 31/01 e 01/02, preciso q retorne também os dados do dia 02/02.

Obs. Campo data na tabela é timestamp.

alguém me ajuda??

Grata,
izaura
izaura
Localização: santos-sp

Mensagemem Sex, 03 Fev 2006 9:02 am

Isso acontece porque a data tem hora e minuto, ou seja é maior que 02/02/2006. Normalmente, eu não uso o between, eu coloco da seguinte forma:

Código: Selecionar todos
select t.trx_number,
         t.lote,
         t.venda_pax,
         t.venda_comissao,
         l.valor_lote,
         l.data,
         l.qtd_lancamentos
from
        bx_tbl_transacao t inner join bx_tbl_lote l
        on (t.lote = l.lote)
where data >=to_date('31/01/2006', 'dd/mm/rrrr')
  and data < to_date('02/02/2006', 'dd/mm/rrrr') + 1


:-o
dr_gori
Localização: Portland, OR USA

Thomas F. G

Você já respondeu a dúvida de alguém hoje?
http://glufke.net/oracle/search.php?search_id=unanswered

Mensagemem Qui, 09 Fev 2006 4:19 pm

Muito obrigado.
izaura
Localização: santos-sp

Mensagemem Sáb, 11 Fev 2006 3:45 pm

Pode utilizar trunc na data também!

Fui.

Maia.
fmaia
Localização: SP

Fmaia - Oracle Developer


  • Veja também
    Respostas
    ExibiÇões
    Última mensagem


Voltar para SQL

Quem está online

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