Getting date list in a range in PostgreSQL

后端 未结 8 463
悲&欢浪女
悲&欢浪女 2020-11-28 07:59

I\'d like to get the list of days between the two dates (including them) in a PostgreSQL database. For example, if I had:

  • start date: 29 june
8条回答
  •  难免孤独
    2020-11-28 08:37

    This PLpg/SQL function would do the trick:

    CREATE OR REPLACE FUNCTION getDateList(date1 date, date2 date)
    RETURNS SETOF date AS
    $BODY$
    DECLARE
        count integer;
        lower_limit integer :=  0;
        upper_limit integer :=  date2 - date1;
    BEGIN
        FOR count IN lower_limit..upper_limit LOOP
            RETURN NEXT date1 + count;
        END LOOP;
        RETURN;
    END;
    $BODY$
    LANGUAGE plpgsql VOLATILE
    

提交回复
热议问题