2016-10-13 26 views
0

這看起來像是一個非常基本的問題。Teradata在腳本開始處宣佈日期

我有很多的子查詢中包含多個日期限制的where子句

我們運行一個特設的基礎上,這個查詢在那裏我要更改日期範圍在查詢中一個非常大的SQL語句約20個地方。日期範圍在所有地方都是一樣的。因此,舉例來說,2016年1月1日至2016年1月7日爲例

在Teradata中,可以在查詢的開始處聲明日期範圍,例如像變量,然後在代碼中引用此變量所以我只需要改變一次?

我已經看到了declaration of variable in teradata的答案,但希望看到一個簡單的例子表明在存儲過程中

謝謝您的時間

+1

訣竅學習一些這方面的東西瞭解Teradata的是,你不會總是通過互聯網搜索找到基本資料的好答案。有一些很好的pdf文檔,但它通常不會出現在網絡搜索中。您可能想要從http://info.teradata.com/ –

+1

下載一些pdf文檔您是否在使用Teradata SQL Assistant啓動「手動」查詢?在這種情況下,可變佔位符(例如'?startdate,?enddate')可能就足夠了。 – Insac

回答

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

非常感謝David對你的幫助 –