Teradata SQLでは、DATE値のためのデータ型が提供され、REALタイプでエンコードされた数としてTIME値が格納されます。これは、ANSI SQL:2011規格のTeradata拡張部分であり、使用しないでください。
DATE値およびTIME値は、どちらもエンコードされた値であり、単純な整数または実際の数ではないので、これらの値の算術演算には制約があります。
ANSI DATEおよびTIME値は、適切な日時タイプを使用して格納され、日時の割り当てと式についての一連の独自のルールがあります。詳細は、ANSI日時および間隔データ型の割り当てルールおよびANSI SQL:2011の日時および間隔値でのスカラー演算を参照してください。
DATE値と整数の算術演算
以下の算術関数は、日付と整数を使用して実行することができます(INTEGERは日数と解釈されます)。
- DATE + INTEGER
- INTEGER + DATE
- DATE - INTEGER
これらの式は、単純な加算または減算として処理されません。以下のように処理されます。
- エンコードされた日付値が、あるシステム定義の固定日からの日数を示す中間値に変換されます。
- 次に整数値が加算または減算され、基本となる固定日からの日数としての別の値が形成されます。
- その結果が、グレゴリオ暦で有効な日付値に戻されます。