リファレンスガイド> SQL演算子のTDVサポート> 算術演算子> 追加
 
Add(追加)
加算演算子(+)は、2つのオペランドを加算し、合計を返します。
注:構成パラメーターを使用して、この演算子で精度/スケールが38を超えることができるかどうかを制御できます。詳細については、関数の10進数の制限を参照してください。 。
10進数および数値のデータタイプ
追加演算子がDECIMALまたはNUMERICデータタイプを含むオペランドに適用される場合、出力データタイプ、精度、およびスケールは、以下に示すように、オペランドのデータタイプ、精度、およびスケールに依存する場合があります。
構文
operand1 + operand2
備考
入力(オペランド)の順序は、出力データタイプには影響しません。
他のオペランドと組み合わせたDECIMALおよびNUMERICデータタイプの出力を表に示します。
入力
出力
DECIMAL(p1,s1)+ DECIMAL(p2,s2)
DECIMAL(p3,s3)、p3の場合、入力の精度に1を加えた値が大きくなり、s3の場合、入力のスケールが大きくなります。
DECIMAL(p1,s1)+ NUMERIC
NUMERIC + NUMERIC
NUMERIC
DECIMAL(p,s)+ not-DECIMAL-または-NUMERIC
DECIMAL(p,s)
NUMERIC + not-DECIMAL-または-NUMERIC
NUMERIC
DECIMAL(6,1) + NUMERIC(4,2) -> DECIMAL(7,2)
インターバルタイプ
INTERVALは、DATE、TIME、TIMESTAMP、または別のINTERVALに追加できます。
構文
operand1 + operand2
備考
間隔の日、時間、分、または秒は、他の間隔の日、時間、分、または秒にのみ追加できます。 INTERVALの年または月は、他のINTERVALの年または月にのみ追加できます。ユニットの2つのグループは互換性がありません。
月を追加する場合、TDVサーバーは月の日を切り捨てず、指定された月の日が無効な場合はエラーをスローする可能性があります。
入力(オペランド)の順序は、出力データタイプには影響しません。
さまざまなオペランドに追加されたINTERVALの出力を表に示します。
入力
出力
間隔+間隔
間隔
間隔+日付
日付+間隔
日にち。 DATEに追加できるのは、日、月、年のみです。
間隔+時間
時間+間隔
TIME
間隔+タイムスタンプ
タイムスタンプ+間隔
タイムスタンプ
DATE '1999-12-31' + INTERVAL '1' DAY = DATE '2000-01-01'
INTERVAL '1' MONTH + DATE '1999-12-31'= DATE '2000-01-31'
DATE '1989-03-15' + INTERVAL '1' YEAR = DATE '1990-03-15'
DATE '2000-01-31' + INTERVAL '1' MONTH = <Error: February only has 28 days>
INTERVAL '6000' SECOND(4) + INTERVAL '3000' DAY(4) = INTERVAL '3000 01:40:00' DAY(4) TO   SECOND
INTERVAL '6000' SECOND(4) + TIME '7:00:00' = TIME '08:40:00'
混合データタイプ
add演算子は、算術演算子を受け入れることができるデータタイプと同等またはキャスト可能なオペランドを含む、さまざまなデータタイプを持つオペランドに適用できます。
構文
operand1 + operand2
備考
オペランドのデータタイプと結果の出力データタイプを表に示します。
Operand1タイプ
Operand2タイプ
出力タイプ
TINYINT
SMALLINT
INTEGER
BIGINT
TINYINT
SMALLINT
INTEGER
BIGINT
STRING
整数
TINYINT
SMALLINT
INTEGER
BIGINT
フロート
リアル
浮く
TINYINT
SMALLINT
INTEGER
BIGINT
10進数
数値
10進数
TINYINT
SMALLINT
INTEGER
BIGINT
STRING
日にち
日にち
TINYINT
SMALLINT
INTEGER
BIGINT
STRING
タイムスタンプ
タイムスタンプ
フロート
リアル
TINYINT
SMALLINT
INTEGER
BIGINT
STRING
浮く
フロート
リアル
フロート
リアル
フロート
リアル
10進数
数値
10進数
フロート
リアル
日にち
日にち
フロート
リアル
タイムスタンプ
タイムスタンプ
10進数
数値
TINYINT
SMALLINT
INTEGER
BIGINT
10進数
10進数
数値
フロート
リアル
10進数
数値
10進数
数値
浮く
10進数
数値
日にち
日にち
10進数
数値
タイムスタンプ
タイムスタンプ
DATE
間隔
日にち
日にち
ストリング
DATE
タイムスタンプ
間隔
タイムスタンプ
タイムスタンプ
ストリング
TIMESTAMP
ストリング
STRING
TINYINT
SMALLINT
INTEGER
BIGINT
NUMERIC
FLOAT
REAL
DECIMAL
DATE
タイムスタンプ
DECIMAL
INTEGER
INTEGER
INTEGER
INTEGER
DECIMAL
FLOAT
FLOAT
DECIMAL
DATE
タイムスタンプ
NULL
TINYINT
SMALLINT
INTEGER
BIGINT
NUMERIC
FLOAT
REAL
DECIMAL
DATE
TIMESTAMP
ヌル
NULL
TINYINT
SMALLINT
INTEGER
BIGINT
NUMERIC
FLOAT
REAL
DECIMAL
DATE
TIMESTAMP
ストリング
NULL
NULL
間隔
日付
間隔
時間
タイムスタンプ
日付
間隔
時間
タイムスタンプ