【问题标题】:Teradata declaring dates at start of the scriptTeradata 在脚本开始时声明日期
【发布时间】:2017-02-22 06:37:47
【问题描述】:

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

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

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

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

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

感谢您的宝贵时间

【问题讨论】:

  • 了解有关 teradata 的一些知识的诀窍是,您不会总是通过互联网搜索找到基本知识的好答案。有一些不错的 pdf 文档,但通常不会出现在网络搜索中。你可能想看看从info.teradata.com下载一些pdf文档
  • 您是否使用 Teradata SQL 助手“手动”启动查询?在这种情况下,变量占位符(例如:?startdate, ?enddate)就足够了。

标签: teradata declare


【解决方案1】:

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

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');

【讨论】:

  • 非常感谢大卫的帮助
猜你喜欢
  • 1970-01-01
  • 2018-01-30
  • 1970-01-01
  • 2017-10-31
  • 1970-01-01
  • 2013-01-08
  • 2015-07-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多