Я хотел бы использовать функцию генерации в redshift, но не был успешным.
Документация красного смещения говорит, что она не поддерживается. Следующий код работает:
select *
from generate_series(1,10,1)
выходы:
1
2
3
...
10
Я хотел бы сделать то же самое с датами. Я пробовал несколько вариантов, в том числе:
select *
from generate_series(date('2008-10-01'),date('2008-10-10 00:00:00'),1)
выходит:
ERROR: function generate_series(date, date, integer) does not exist
Hint: No function matches the given name and argument types.
You may need to add explicit type casts. [SQL State=42883]
Также попытался:
select *
from generate_series('2008-10-01 00:00:00'::timestamp,
'2008-10-10 00:00:00'::timestamp,'1 day')
И попробовал:
select *
from generate_series(cast('2008-10-01 00:00:00' as datetime),
cast('2008-10-10 00:00:00' as datetime),'1 day')
оба выхода:
ERROR: function generate_series(timestamp without time zone, timestamp without time zone, "unknown") does not exist
Hint: No function matches the given name and argument types.
You may need to add explicit type casts. [SQL State=42883]
Если не похоже, что я буду использовать этот код из другого сообщения:
SELECT to_char(DATE '2008-01-01'
+ (interval '1 month' * generate_series(0,57)), 'YYYY-MM-DD') AS ym
PostgreSQL generate_series() с функцией SQL в качестве аргументов