2016-10-13 10 views
0

これは非常に基本的な質問のようです。Teradataはスクリプトの開始時に日付を宣言します

私は句

我々は私がクエリで日付範囲を変更する必要がアドホックベースでこのクエリを実行する複数の日付の制限が含まれているサブクエリのたくさんの非常に大規模なSQL文を持っています約20か所。日付範囲はすべての場所で同じです。たとえば、2016年1月1日から2016年7月1日までの例です。

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

デービッドさん、ありがとうございました –

関連する問題