加算と減算の演算は以下のように許可されます。ここで、整数値は日数を表わします。
引数1 | 操作 | 引数2 | 結果 |
---|---|---|---|
DATE | + | INTEGER | DATE |
DATE | - | INTEGER | DATE |
INTEGER | + | DATE | DATE |
DATE | - | DATE | INTEGER |
例えば、90日を加算することは3ヶ月を加算することと同じではありません。それぞれの月の日数が異なるからです。
また、うるう年があるので、365日の倍数を加算することは年を加算することと同じではありません。
TeradataのDATE式でのスカラー演算は、ANSI SQL:2011のデータ型を使って実行されます。そのため、date_expression - numeric_expressionのタイプの式は、numeric_expressionの構成要素がINTERVAL DAYとしてタイプ付けされたかのように扱われます。
ANSI SQL:2011の日付および間隔の値は、独自のスカラー演算の集合を持ち、ここでDATEとして定義されたスカラー演算を除いて、混合されたデータ型の式を解決するための暗黙的な変換をサポートしません。