1

在 PostgreSQL 中,很容易生成两个日期之间所有日期的列表:

>>> select generate_series('2013-01-01'::date, '2013-01-06'::date, '1 day'::interval)::date i;

i
2013-01-01
2013-01-02
2013-01-03
2013-01-04
2013-01-05
2013-01-06

是否有可能在 Exasol 中获得相同的结果?

4

2 回答 2

2

您可以使用connect by生成数字,然后将其转换为日期:

with n as (
      select level - 1 as n
      from dual
      connect by level < 6
     )
select add_days(date '2013-01-01', n.n)
from n;
于 2020-04-19T11:55:53.807 回答
0

以下 SQL SELECT 可用于在给定时间间隔内返回天数列表,类似于 Gordon 的解决方案,如Exasol文章上的创建日期表中所述

select
 add_days(date '2013-01-01', level-1) as dates
from dual
connect by level <= days_between('2013-01-06','2013-01-01')+1
order by local.dates; 
于 2020-05-09T14:53:18.503 回答