WebSphere Application Server, Version 6.1   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows, Windows Vista

             目次と検索結果のパーソナライズ化

日時の演算および比較

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

データ・ストアが DB2 の場合、DB2 の DATE、TIME、および TIMESTAMP 型のストリング表記も使用可能です。 日付または時刻のストリング表記には、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 との比較を意味しています。




関連概念
EJB 照会言語
WHERE 文節
関連タスク
EJB 照会の使用
概念トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 5:05:53 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/cque_dtacomp.html