Postgresql - 获取相对于给定日期时间值最接近的日期时间行

2023-12-02

我有一个 postgres 表unique日期时间字段。 我想使用/创建一个函数,该函数将日期时间值作为参数,并返回与传递的日期时间值最接近(但不等于)的日期时间的行ID。第二个参数可以指定before or after传递的值。

理想情况下,本地的一些组合日期时间函数可以满足这个要求。否则它必须是自定义函数。

问题:查询的方法有哪些relative行集合上的日期时间?


select id, passed_ts - ts_column difference
from t
where
    passed_ts > ts_column and positive_interval
    or
    passed_ts < ts_column and not positive_interval
order by abs(extract(epoch from passed_ts - ts_column))
limit 1

passed_ts是时间戳参数,positive_interval是一个布尔参数。如果为 true,则仅时间戳列低于传递的时间戳的行。如果为假则相反。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Postgresql - 获取相对于给定日期时间值最接近的日期时间行 的相关文章

随机推荐