日期和更新 PostgreSQL 之间的最小天数差异
Minimum of Days Difference between Dates and Update PostgreSQL
我有这样的情况,我需要找出哪个记录在至少 2 个日期之间的天数差异最小。喜欢 -
Table数据就好
输入参数:[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 )
我只需要识别那条特定的记录,请指教。
您可以使用 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.pk
我有这样的情况,我需要找出哪个记录在至少 2 个日期之间的天数差异最小。喜欢 -
Table数据就好
输入参数:[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 )
我只需要识别那条特定的记录,请指教。
您可以使用 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.pk