Problemas com comparação de datas

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
rhicky
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 58
Registrado em: Sex, 20 Jul 2007 9:48 am
Localização: S. J. do Rio Preto/SP
Rhicky

Prezados,

Estou com problemas em uma consulta de comparação de datas. Na primeira, quando eu fixo a data direto na consulta, o resultado sai correto. Porém, quando eu utilizo o campo do sistema, o resultado não vem correto. O que pode ser ?

/*A consulta abaixo funciona corretamente, ou seja, não retorna valores */
select a.dtinicio, last_day(to_date('1' || '/' || 1 || '/' || 2012, 'dd/mm/yyyy'))
from pfhstaft a
where a.codcoligada = 1
and a.chapa = '0109117'
and a.tipo = 'T'
and to_date('03/02/2012', 'dd/mm/yyyy') <= to_date('31/01/2012', 'dd/mm/yyyy')

/*O valor de a.dtinicio é 03/02/20012. A consulta abaixo não funciona correto, ou seja, está retornando valores, o correto é não retornar valores*/
select a.dtinicio, last_day(to_date('1' || '/' || 1 || '/' || 2012, 'dd/mm/yyyy'))
from pfhstaft a
where a.codcoligada = 1
and a.chapa = '0109117'
and a.tipo = 'T'
and to_date(a.dtinicio, 'dd/mm/yyyy') <= to_date('31/01/2012', 'dd/mm/yyyy')
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Olá Richy,

Pode executar estes comandos e atualizar esta tread?

- DESCRIBE pfhstaft;

- Os 5 primeiros registros da querie abaixo?
select a.dtinicio
from pfhstaft a
where a.codcoligada = 1
and a.chapa = '0109117'
and a.tipo = 'T'

Não sei se o campo DTINICIO é um campo DATE ou não .. isso pode estar impactando na sua querie.

Abraços,

Sergio Coutinho
DanielNN
Moderador
Moderador
Mensagens: 641
Registrado em: Seg, 03 Set 2007 3:26 pm
Localização: Fortaleza - CE
att,

Daniel N.N.

Pelo que entendi, o campo "a.dtinicio" deve ser varchar e não está sendo gravado no formato "dd/mm/yyyy" ,
talvez tenha as horas ou é gravado no formato americano.

Se o campo é tipo DATE, nem precisa usar a função TO_DATE.
rhicky
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 58
Registrado em: Sex, 20 Jul 2007 9:48 am
Localização: S. J. do Rio Preto/SP
Rhicky

Daniel,

Sua informação ("Se o campo é tipo DATE, nem precisa usar a função TO_DATE") resolveu meu problema.

Obrigado.

Abs,
Responder
  • Informação
  • Quem está online

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