PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PostgreSQL gibt das exakte oder dem abgefragten Datum am nächsten liegende Datum zurück

Wenn Sie das nächste Datum vorher haben möchten, gehen Sie folgendermaßen vor:

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

Das nächstgelegene Datum nach verwendet eine ähnliche Logik.

Für den nächsten auf beiden Seiten:

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