Netezza 中的可变日期

Variable dates in Netezza

我希望在 Netezza 中为我的 SQL 查询定义开始日期和结束日期。

我的代码每季度重新运行以提取最新数据,而不是更改代码中多个位置的日期字段我希望定义一个可以重复使用的开始和结束日期整个代码。

我一直在尝试使用以下代码在 Aginity 中获取开始和结束日期,但我的代码不会 运行

CREATE OR REPLACE PROCEDURE START_END_DATE_VARS()
  --SPECIFIC START_END_DATE_VARS
  LANGUAGE NZPLSQL 
  BEGIN
declare StartDate char;
declare EndDate char;
SELECT StartDate = TO_CHAR(last_day(add_months(now(),-1)),'YYYY-MM-DD') INTO StartDate;
SELECT EndDate = TO_CHAR(add_months(date_trunc('month', current_date),-35),'YYYY-MM-DD') INTO EndDate;
END

如果您能指导我如何在 Aginity/Netezza 中定义这些变量,我将不胜感激。

这行得通,但如果你想使用这些日期,你应该将它们插入一些 table 等等..

CREATE OR REPLACE PROCEDURE START_END_DATE_VARS()
RETURNS CHARACTER VARYING(ANY)
LANGUAGE NZPLSQL AS
BEGIN_PROC

DECLARE
StartDate   CHAR(10);
EndDate     CHAR(10);

BEGIN 
StartDate := (SELECT TO_CHAR(last_day(add_months(now(),-1)),'YYYY-MM-DD'));
EndDate := (SELECT TO_CHAR(add_months(date_trunc('month', current_date),-35),'YYYY-MM-DD'));

RETURN('Start date: ' || StartDate ||' , End Date: ' ||EndDate );

END;
END_PROC;