Teradata在脚本开始时声明日期

时间:2016-10-13 08:27:04

标签: teradata declare

这似乎是一个非常基本的问题。

我有一个非常大的SQL语句,其中包含许多子查询,其中包含多个where子句中的日期限制

我们在ad-hoc基础上运行此查询,我必须在大约20个位置更改查询中的日期范围。所有地方的日期范围都相同。例如,2016年1月1日至2016年1月7日为例

在Teradata中,可以在查询开始时声明日期范围,例如像变量一样,然后在代码中引用此变量,这样我只需要更改一次吗?

我已经看到了declaration of variable in teradata的答案,但希望看到一个简单的示例,演示存储过程中日期范围的概念

感谢您的时间

1 个答案:

答案 0 :(得分:0)

它不应该是变量,而应该是一个参数。你的存储过程将是这样的:

REPLACE PROCEDURE MyStoredProcedure
(
IN StartDate DATE
,IN EndDate DATE
) 
BEGIN
DECLARE SomeOtherDate DATE; --if you need an actual date variable
--Your logic goes here

END;

然后在调用存储过程

时设置参数
CALL MyStoredProcedure('2015-01-01','2015-12-31');