Om du vill ha det närmaste datumet innan, gör det så här:
SELECT year, session_date
FROM calendar_dates
WHERE session_date < '$date_string'
ORDER BY session_date DESC
LIMIT 1;
Det närmaste datumet efter använder liknande logik.
För de närmaste på vardera sidan:
SELECT year, session_date
FROM calendar_dates
ORDER BY abs(session_date - date '$date_string')
LIMIT 1;