以前に最も近い日付が必要な場合は、次のようにします。
SELECT year, session_date
FROM calendar_dates
WHERE session_date < '$date_string'
ORDER BY session_date DESC
LIMIT 1;
後の最も近い日付は同様のロジックを使用します。
どちらかの側に最も近い場合:
SELECT year, session_date
FROM calendar_dates
ORDER BY abs(session_date - date '$date_string')
LIMIT 1;