postgre遍历两个日期间的时间
在etl清洗导入数据时,偶尔需要遍历两个日期间的每一天进行抽取数据,可以使用postgre内置函数。
select * from generate_series('2022-1-01 00:00:00'::TIMESTAMP, '2022-1-02 00:00:00'::TIMESTAMP, '1 day');

使用存储过程进行循环:
CREATE OR REPLACE PROCEDURE "public"."ALL_D_PROCESS_new"()
AS $BODY$
DECLARE
date bpchar;
date_l record;
monthid int4 := 202201;
BEGIN
--字符串日期,格式:2020-01-01
--date := '2020-01-01';
FOR date_l IN SELECT daytime::DATE
FROM generate_series
('2022-01-01'::DATE, '2022-01-31'::DATE, '1 day' ) s ( daytime )
LOOP
date =date_l.daytime;
raise notice 'date_1.dattime is %',date;
END LOOP;
END$BODY$
LANGUAGE plpgsql
结果:

版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
ElIauk!
喜欢就支持一下吧