我希望在Netezza中为我的SQL查询定义一个开始和结束日期。
我的代码每季度都重新运行,以提取最新数据,而不是更改代码中多个位置的日期字段,我希望定义一个可以在整个代码中重复使用的开始日期和结束日期。p>我一直在尝试以下代码以获取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中定义这些变量。
这有效,但是如果您想使用这些日期,则应将它们插入某个表格。
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;