datetime 値に対して実行できる算術演算は、加算と減算のみです。
datetime 値が加算の作用対象である場合、もう一方の作用対象はラベル付き期間でなければなりません。
HCOSS での加算演算子を使用した datetime 値の演算に関する固有のルールは次のとおりです。
最初の作用対象の型 | もう一方の作用対象 |
---|---|
date | date の年、月、または日のラベル付き期間。 |
time | time の時間、分、または秒のラベル付き期間。 |
timestamp | date、time、または timestamp のラベル付き期間。いずれの型のラベル付き期間も有効です。 |
HCOSS での datetime の加算の結果は、常に date、time、または timestamp になります。
HCOSS での減算演算子を使用した datetime 値の演算では、加算の場合とは異なるルールが適用されます。期間から datetime 値を減算することはできず、また 2 つの datetime 値で減算を行う場合と datetime 値から期間を減算する場合で演算が異なるためです。
減算演算子を使用した datetime 値の演算に関する一般的なルールは次のとおりです。
Operand1 - Operand2 | 結果 |
---|---|
date - date | date の期間 - decimal(8.0) 形式の「yyyymmdd」 |
date - date のラベル付き期間 | date |
time - time | time の期間 - decimal(6.0) 形式の「hhmmss」 |
time - time のラベル付き期間 | time |
timestamp - timestamp | timestamp の期間 - decimal(20,6) 形式の「yyyymmddhhmmss.nnnnnn」 |
timestamp - 任意のラベル付き期間 | timestamp |
有効な z/OS DB2 の式 | 必要な HCOSS の式 |
---|---|
COL_TS - COL_TS | COL_TS - TIMESTAMP(COL_TS) |
COL_DT - '1900-01-01' | COL_DT - DATE('1900-01-01') |
'12.12.12' - COL_TM | TIME('12.12.12') - TIME(COL_TM) |
許容される HCOSS の式 |
---|
CURRENT_TIMESTAMP - COL_TS |
CURRENT_DATE - '1900-01-01' |
COL_TM - CURRENT_TIME |
CURRENT_TIMESTAMP - CURRENT_TIMEZONE |