我有这样的情况,我需要找出哪条记录在至少两个日期之间有最小的天数差异。就像-
表数据类似于

入参: aDate = 12-Nov-2020,Infold =2
结果应该是:

需要找到输入日期和现有日期之间的日期差异,找到具有最小天数差距的记录。
我正试着这样做:
select/update query
where <here not sure what to put> = MIN ( select existing.aDate::date - input.aDate::date from table, select input.aDate::date - existing.aDate::date from table )我只需要识别特定的记录,敬请指教。
发布于 2020-11-20 18:01:45
您可以使用order by和limit来标识与给定日期“最接近”的记录:
select t.*
from mytable t
order by abs(adate - date '2020-11-12'))
limit 1如果您需要一条update语句:
update mytable t
set infold = 2
from (
select pk
from mytable
order by abs(adate - date '2020-11-12'))
limit 1
) t1
where t1.pk = t.pkhttps://stackoverflow.com/questions/64927321
复制相似问题