数値演算子 +、−、*、/、および ∥。
ESQL には、次の数値演算子が用意されています。
- 単項演算子 -
- 結果は、オペランドの符号を反転したものです (オペランドと絶対値が同じで符号が反対の値)。 数値 (INTEGER、DECIMAL、および FLOAT) とインターバル (INTERVAL) を反転できます。
- 演算子 +
- 結果は 2 つのオペランドの和です。 2 つの数値、2 つのインターバル値、およびインターバル値と日時値 (DATE、TIME、TIMESTAMP、GMTTIME、および GMTTIMESTAMP) の加算が可能です。
- 演算子 -
- 結果は 2 つのオペランドの差です。 次のことが可能です。
- 一方の数値からもう一方の数値を減算する。
- 一方の日時からもう一方の日時を減算する。 結果はインターバルです。
- 一方のインターバルからもう一方のインターバルを減算する。 結果はインターバルです。
- 日時値からインターバルを減算する。 結果は日時です。
一方の日時からもう一方の日時を減算する際には、必要なインターバルのタイプを指示しなければなりません。 指示するには、式を括弧で囲んだ後にインターバルの修飾子を続けた修飾子を使用します。
以下に例を示します。
SET OutputRoot.XMLNS.Data.Age =
(DATE '2005-03-31' - DATE '1947-10-24') YEAR TO MONTH;
- 演算子 *
- 結果は 2 つのオペランドの積です。 数値と数値の乗算、およびインターバルと数値の乗算が可能です。
- 演算子 /
- 結果は 2 つのオペランドの被除数の結果です。 数値と数値の除算、およびインターバルと数値の除算が可能です。
- 演算子 ||
- 結果は 2 つのオペランドの連結です。 ストリング値 (CHARACTER、BIT、および BLOB) とストリング値の連結が可能です。
どのような場合でも、どちらか一方のオペランドが NULL なら結果は NULL になります。 オペランドのタイプが異なる場合には、特別な規則が適用されます。
これについては、暗黙のキャストで説明されています。
日時値を取り扱う際のこうした演算子の使用法に関する例は、日時値での数値演算子の使用を参照してください。