oracle中如何取得表中某个日期字段与给定日期最接近的记录

来源:百度知道 编辑:UC知道 时间:2024/06/30 16:00:54

select id from (
select id ,rownum num from XXXX order by (XxxDate - Sysdate) ) where num = 1
表名XXX,字段XxxDate时间类型
select id ,rownum num from XXXX order by (sysdate -XxxDate)
根据XxxDate和当前时间sysdate的差排序(降序),并找出rownum

然后从结果集中找出最近条纪录的id

如果 (sysdate -XxxDate)你认为不爽,也可以加上绝对值函数
abs(sysdate -XxxDate)

根据你的业务选择想要的吧