PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Инкрементални дати на PostgreSQL?

Можете да се присъедините с generate_series изход:

select
    '2013-05-01'::date + g.o AS "date with offset"
from
    generate_series(0, 30) AS g(o)

Изход:

"2013-05-01"
"2013-05-02"
"2013-05-03"
...
"2013-05-29"
"2013-05-30"
"2013-05-31"

Или... по-лесен метод след дефиниране на нова съхранена процедура :)

CREATE OR REPLACE FUNCTION generate_series(date, date) RETURNS
SETOF date AS $$
SELECT $1 + g.s
FROM generate_series(0, ($2 - $1)) AS g(s);
$$ LANGUAGE SQL IMMUTABLE;

Просто го наречете така:

SELECT * FROM generate_series(start_date, end_date);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Опресняването на материализиран изглед не включва добавена колона

  2. Rails 5:групирайте записи по поле DateTime в дървовиден изглед

  3. Защо \dt на PostgreSQL показва само публични таблици със схеми?

  4. Как да използвам ANY вместо IN в клауза WHERE с Rails?

  5. Стартирането на хибернация е много бавно