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

2024-11-19 06:27:08
推荐回答(1个)
回答1:

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)

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