sql >> Databáze >  >> RDS >> PostgreSQL

Postgresql - získat nejbližší řádek datetime vzhledem k dané hodnotě datetime

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 je parametr časového razítka a positive_interval je booleovský parametr. Pokud má hodnotu true, pouze řádky, kde je sloupec časového razítka nižší než předané časové razítko. Pokud je nepravda, převrácená hodnota.



  1. „O“ v ORDBMS:PostgreSQL Inheritance

  2. Oracle:Pokud tabulka existuje

  3. Jak zjistím, zda je hodnota v MySQL celé číslo?

  4. Intel SSD, nyní mimo seznam hanebných