sql >> Databasteknik >  >> RDS >> PostgreSQL

Postgresql - få den närmaste datetime-raden i förhållande till ett givet datetime-värde

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 är tidsstämpelparametern och positive_interval är en boolesk parameter. Om sant endast rader där tidsstämpelkolumnen är lägre än den godkända tidsstämpeln. Om falskt är det omvända.



  1. Oracle identitet kolumn och infoga i välj

  2. Hantera personsökning med ändrade sorteringsordningar

  3. mssql konvertera varchar till float

  4. Vad är snabbare, VÄLJ DISTINCT eller GROUP BY i MySQL?