【发布时间】:2021-04-13 15:03:50
【问题描述】:
我有一个 Postgres 表,其架构看起来像这样 -
Table "public.nav_due_dates"
Column | Type | Collation | Nullable | Default
----------+---------+-----------+----------+-----------------------------------------------
nav_id | integer | | not null | nextval('nav_due_dates_nav_id_seq'::regclass)
fund_id | integer | | |
listdate | date[] | | |
我有一个 SELECT 语句,它将生成一年中的所有日子......最终在加入周末和假期表之后,我想过滤掉所有工作日以将这些日期值插入到 listdate date[] 数组列。目前,我正在使用以下内容生成一年中所有日期的行:
SELECT i::date from generate_series('2021-01-01',
'2021-12-31', '1 day'::interval) i;
到目前为止,我已经尝试过像这样插入 -
INSERT INTO nav_due_dates(fund_id, listdate) VALUES (100, (
SELECT i::date from generate_series('2021-01-01',
'2021-12-31', '1 day'::interval) i)::date[] )
;
这就是它给我的错误-
ERROR: cannot cast type date to date[]
LINE 3: '2021-12-31', '1 day'::interval) i)::date[] )
^
有什么好办法吗?
【问题讨论】:
标签: sql postgresql