PostgreSQL return exact or closest date to queried date

前端 未结 2 1040
小蘑菇
小蘑菇 2021-02-05 11:55

I have the following postgresql syntax that returns values WHERE session_date matches $date_string

Problem is that sometimes the $date_string will not be available in th

2条回答
  •  轮回少年
    2021-02-05 12:18

    If you want the closest date before, do it this way:

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

    The closest date after uses similar logic.

    For the closest on either side:

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

提交回复
热议问题