日時の演算および比較

DATE、TIME および TIMESTAMP の各値は、 同じ型の別の値と比較することができます。 比較は、日時順です。 日時値は、増加、減少、および減算も可能です。

データ・ストアが DB2 の場合、DB2 の DATE、TIME、および TIMESTAMP 型のストリング表記も使用可能です。

表 1. 日付、時刻、およびタイム・スタンプのフォーマット. 日付または時刻のストリング表記には、ISO、USA、EUR、または JIS フォーマットを使用することができます。 タイム・スタンプのストリング表記は、ISO フォーマットを使用します。
フォーマット 日付フォーマット 日付の例 時刻フォーマット 時刻の例
ISO yyyy-mm-dd 1987-02-24 1987-2-24 hh.mm.ss 13.50.00 13.50
  mm/dd/yyyy 2/24/1987 hh:mm AM or PM 1:50 pm 02:10 AM
EUR dd.mm.yyyy 24.02.1987 24.2.1987 hh.mm.ss 13.50.00 13.55
JIS yyyy-mm-dd 1987-02-24 hh:mm:ss 13:50 13:50:05

例 1: 日時の算術比較

e.hiredate > '1990-02-24'
1990 年 2 月 24 日午後 1 時 50 分のタイム・スタンプは、次のように表すことができます。
'1990-02-24-13.50.00.000000'  または
'1990-02-24-13.50.00'

データ・ストアが DB2 の場合は、DB2 の 10 進数期間を式および比較に使用することができます。 日付の期間とは、2 つの日付の間の差を YYYYMMDD のフォーマットで表す 10 進 (8,0) 数です。 時刻の期間とは、2 つの時刻値の間の差を HHMMSS で表す 10 進 (6,0) 数です。 タイム・スタンプ期間とは、2 つのタイム・スタンプ値の間の差を YYYYMMDDHHMMSS.ZZZZZZ で表す 10 進 (20,6) 数です (ZZZZZZ はマイクロ秒数であり、10 進小数点の後に示されます)。

2 つの日付値 (または時刻値、またはタイム・スタンプ値) を減算することにより、 期間を生じさせることができます。 第 2 オペランドが最初のオペランドより大きい場合は、期間は負の 10 進数です。 日付値に期間を加算または減算することにより、新規の日時値を生じさせることができます。

例 2: 日付の算術比較

DATE('3/15/2000') - '12/31/1999' の結果は 10 進数の 215 となり、 期間は 0 年 2 カ月 15 日です。

期間は、実際には 10 進数で、算術式および算術比較で使用することができます。

( DATE('3/15/2000') - '12/31/1999' ) + 14 > 215 の結果は、TRUE となります。

DATE('12/31/1999') + DECIMAL(215,8,0) の結果は、日付値 3/15/2000 となります。

TIME('11:02:26') - '00:32:56' の結果は、10 進数の 102930 となり、 これは 10 時間 29 分 30 秒という期間を表します。

TIME('00:32:56') + DECIMAL(102930,6,0) の結果は、時刻値 11:02:26 となります。

TIME('00:00:59') + DECIMAL(240000,6,0) の結果は、時刻値 00:00:59 となります。

e.hiredate + DECIMAL(500,8,0) > '2000-10-01' は、雇用日プラス 5 カ月と日付 10/01/2000 との比較を意味しています。


トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cque_dtacomp
ファイル名:cque_dtacomp.html