Pesquisar data mais proxima

5 respostas
R

Pessoal,

Qual é a melhor forma de pegar uma data mais próxima de uma data informada? Mas com um detalhe: A DATA MAIS PRÓXIMA PODE ESTAR ANTES OU DEPOIS DA DATA INFORMADA.

5 Respostas

P

O que tu queres portanto, é a data cujo módulo da diferença para a data atual seja menor, certo?

R

Exato. Pra ficar mais claro é a data mais próxima sendo antes ou depois.

P

Dependendo do motor de BD que tenhas, a syntaxe pode variar um pouco.

Em ORACLE seria assim

SELECT t.*
FROM table t
where abs(mydatefield-SYSDATE) = (select min (abs(mydatefield-SYSDATE)) from table)
R

No meu caso é o sqlserver

P

Nesse caso só tens de mudar a subtração de datas para a função datediff e usar o GETDATE() em vez de sysdate para obter a data atual

Criado 28 de novembro de 2012
Ultima resposta 28 de nov. de 2012
Respostas 5
Participantes 2