我是使用 postgres 和 PL/pgSQL 的新手。我的代码如下。我想修改我的代码以将变量的值与生成系列函数进行比较,例如:
if variable == '2019-08-22' then
generate_series(date_trunc('day', s.beg), date_trunc('day',
least(s.enddate, current_date)), interval '1 day') gs(date)
else
generate_series(date_trunc('day', s.beg), date_trunc('day',
least(s.enddate, $$var$$)), interval '1 day') gs(date)
在我的代码下面。任何建议都非常感谢。
INSERT INTO $$||table_name||$$
(number_, date, type, minutes)
select
number_, gs.date,
(case
when trim(string) ~ '^XYZ[0-9]$'
then 'ALPHANUMERIC'
end) as type,
sum(extract(epoch from (least(s.enddate, gs.date + interval '1 day' -
greatest(s.beg, gs.date)
)
) / 60) as minutes
from table s cross join lateral
generate_series(date_trunc('day', s.beg), date_trunc('day',
least(s.enddate, current_date)), interval '1 day') gs(date)