17.10 - 比較におけるDATEタイプの正しい形式 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL関数、式、および述部

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1145-171K-JPN
Language
日本語 (日本)
Last Update
2021-09-23

正しい比較を実行するには、DATEオペランドを正しい形式で指定する必要があります。

作成される日付が有効な日付でない場合、DATEオペランドによる計算はエラーを出します。したがって、比較の目的で日付値を整数形式で指定することがあるとしても、日付データが入っている列は、INTEGERではなく、DATEデータ型として定義する必要があります。

DATEへの入力として整数を使用した場合(この方法はお勧めしません)、2000年の最初の日付の入力は、1000101となります。

詳細については、<Teradata Vantage™ - データ タイプおよびリテラル、B035-1143>の「Teradataの日付および時刻の式」を参照してください。

DATEオペランドを実行するための正しい形式は、以下のとおりです。
  • 整数は、「(年-1900)*10000 + 月*100 + 日」という形式にします。YYMMDD形式は、1900年~1999年の間にのみ有効です。2000年~2099年については、1YYMMDDという形式になります。
  • 比較対象の日付または割り当てが実行される日付フィールドと同じ形式の文字列。
  • 適切なデータ変換を定義するデータ型句と、書式を定義するFORMAT句で修飾した文字列。
  • どんな日付書式による日付比較でも常に有効なANSI日付定数。