Однажды мне потребовалось получить список дат на каждый день 2009 года. Как оказалось, в mysql такой список получить очень просто.
Для этого нужна всего лишь любая таблица, в которой есть не меньше 365 строк. У меня такая таблица была, и называется она games. Скрипт выглядит так:
SET @rownum:=0;
select adddate('2008-12-31',interval @rownum:=@rownum+1 DAY) next_date from games limit 0,365;
Для postgresql:
select cast(’2012-01-01′ as date) + CAST (CAST(id AS TEXT)||’ day’ AS interval) AS calendaric
from generate_series (0,8000) as id;