Bom dia.
Preciso fazer uma comparação de datas, exemplo:
posso ter varias datas
01/01/2010
20/02/2010
25/03/2010
28/03/2010
ai eu vou ter uma data que vai entrar no parametro, exemplo 23/03/2010, então eu preciso comparar qual das datas na lista esta mais próxima à baixo ou igual a data 23/03/2010. Como poderia fazer isso?
Obrigado.
Ajuda !!! comparar valor aproximado
- fsitja
- Rank: OraSauro
- Mensagens: 611
- Registrado em: Seg, 19 Jan 2009 4:29 pm
- Localização: Gaúcho no Rio de Janeiro - RJ
"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html
OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html
OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist
Uma forma de fazer:
SQL> with t as (
2 select to_date('01/01/2010', 'DD/MM/YYYY') dt from dual union all
3 select to_date('20/02/2010', 'DD/MM/YYYY') dt from dual union all
4 select to_date('25/03/2010', 'DD/MM/YYYY') dt from dual union all
5 select to_date('28/03/2010', 'DD/MM/YYYY') dt from dual)
6 -- fim dos dados de exemplo
7 select max(dt) max_dt, dt_param
8 from (select dt, (select to_date('23/03/2010', 'DD/MM/YYYY') from dual) dt_param
9 from t)
10 where dt <= dt_param
11 group by dt_param;
MAX_DT DT_PARAM
----------- -----------
20/2/2010 23/3/2010
-
- Moderador
- Mensagens: 1396
- Registrado em: Sex, 01 Fev 2008 2:06 pm
- Localização: Rio de Janeiro - RJ
- Contato:

vai fazer um loop percorrendo a lista.. vai diminuir as datas afim de ter a diferença entre elas e depois ver qual diferença e menor
...
select sysdate - add_months(sysdate,1) into menorDataTemp from dual;
if (menorDataTemp > menorData) then
menorDataTemp := menorData;
...
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Bing [Bot] e 1 visitante