正しい比較を実行するには、DATEオペランドを正しい形式で指定する必要があります。
作成される日付が有効な日付でない場合、DATEオペランドによる計算はエラーを出します。したがって、比較の目的で日付値を整数形式で指定することがあるとしても、日付データが入っている列は、INTEGERではなく、DATEデータ型として定義する必要があります。
DATEへの入力として整数を使用した場合(この方法はお勧めしません)、2000年の最初の日付の入力は、1000101となります。
詳細については、<Teradata Vantage™ - データ タイプおよびリテラル、B035-1143>の「Teradataの日付および時刻の式」を参照してください。
DATEオペランドを実行するための正しい形式は、以下のとおりです。
- 整数は、「(年-1900)*10000 + 月*100 + 日」という形式にします。YYMMDD形式は、1900年~1999年の間にのみ有効です。2000年~2099年については、1YYMMDDという形式になります。
- 比較対象の日付または割り当てが実行される日付フィールドと同じ形式の文字列。
- 適切なデータ変換を定義するデータ型句と、書式を定義するFORMAT句で修飾した文字列。
- どんな日付書式による日付比較でも常に有効なANSI日付定数。