Em sendo o campo na tabela um DATE, com certeza ** NÃO ** recomendo
vc comparar um date com um char (que é o que o TO_CHAR te dá),
sabemos nós que isso pode levar a não-utilização de índices, e a N+1
problemas de performance, a recomendação SEMPRE é comparar DATE com
DATE, e além disso o campo
Olá, Joaquim.
Afora todos os demais comentários, que acho que sempre vêm a agregar,
acredito que o problema é que você está usando uma data maior à
esquerda (parâmetro inicial) e uma data menor à direita (parâmetro
final), quando deveria ser o inverso!
Tente assim:
where t.ds_ano_mes between
To: oracle_br@yahoogrupos.com.br
Subject: [oracle_br] Re: campo char, contendo data, fazendo between
Em sendo o campo na tabela um DATE, com certeza ** NÃO ** recomendo
vc comparar um date com um char (que é o que o TO_CHAR te dá),
sabemos nós que isso pode levar a não-utilização de índices, e a N
] On Behalf Of jlchiappa
Sent: 20 February 2006 17:59
To: oracle_br@yahoogrupos.com.br
Subject: [oracle_br] Re: campo char, contendo data, fazendo between
Em sendo o campo na tabela um DATE, com certeza ** NÃO ** recomendo
vc comparar um date com um char (que é o que o TO_CHAR te dá),
sabemos nós
Realmente a coluna na tabela é do tipo varchar2 e os parametros são
também varchar2 por isso pensei na possibilidade de converter os dois outros
parametros para char, agora noto o erro deveria usar um to_date,
ficando:
where nvl( cmp.ds_ano_mes, sysdate )
between to_date(
--- Em oracle_br@yahoogrupos.com.br, Joaquim Azevedo
[EMAIL PROTECTED] escreveu
Realmente a coluna na tabela é do tipo varchar2 e os parametros são
também varchar2 por isso pensei na possibilidade de converter os
dois outros
parametros para char,
realmente não faz o menor sentido