选择最近的第一个日期

时间:2018-07-02 11:08:02

标签: sql oracle

我在表格栏中以YYYY-MM-DD格式列出了一些日期。如何找到小于或等于今天的最近日期?

通常我会使用:

<= (SELECT TO_CHAR (TRUNC (SYSDATE), 'YYYY-MM-DD') from DUAL)

但是它将返回所有等于或小于等于的值,我只想要一个,最接近的值。

感谢帮助。

1 个答案:

答案 0 :(得分:2)

一种方法是:

select t.*
from (select t.*
      from t
      where datecol < sysdate  -- trunc(sysdate) ???
      order by datecol desc
     ) t
where rownum = 1;