PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL restituisce la data esatta o più vicina alla data richiesta

Se vuoi la data più vicina prima, fallo in questo modo:

SELECT year, session_date
FROM calendar_dates
WHERE session_date < '$date_string'
ORDER BY session_date DESC
LIMIT 1;

La data più vicina dopo utilizza una logica simile.

Per il più vicino su entrambi i lati:

SELECT year, session_date
FROM calendar_dates
ORDER BY abs(session_date - date '$date_string') 
LIMIT 1;