DATE スカラー関数

DATE 関数は、値から導き出された日付を戻します。

構文図を読むビジュアルシンタックスダイアグラムをスキップするDATE( 式)

スキーマは SYSIBM です。

引数は、日付、タイム・スタンプ、文字ストリング、グラフィック・ストリング、または任意の数値データ・タイプのいずれかの組み込みデータ・タイプを戻す式であることが必要です。

  • expression が文字ストリングまたはグラフィック・ストリングの場合、この expression は CLOB または DBCLOB であってはなりません。また、expression の値は、次のいずれかであることが必要です。
    • 実際の長さが 255 バイト以下の、日付またはタイム・スタンプの有効なストリング表現。 日付とタイムスタンプの文字列表現の有効な形式については、「日時値の文字列表現」 を参照してください。
    • 有効な日付を yyyynnn の形式で表す、実際の長さが 7 の文字ストリングまたはグラフィック・ストリング。ここで、 yyyy は年を示す数字、nnn はその年の日を示す 001 から 366 の数字です。
  • expression が数値の場合、この数値は 1 以上、3652059 以下にする必要があります。

式が DATE 値でない場合、expression は以下のようにキャストされます。

  • expression が TIMESTAMP WITH TIME ZONE の値である場合、expression は、expression と同じ精度の TIMESTAMP WITHOUT TIME ZONE にキャストされます。
  • expression がストリングである場合、expression は DATE にキャストされます。

関数の結果は DATE です。

結果はnullになる可能性があります。引数がnullの場合、結果もnull値となります。

その他の規則は、引数のデータ・タイプに応じて以下のように異なります。

  • 引数がタイム・スタンプの場合、結果はタイム・スタンプの日付の部分です。
  • 引数が日付の場合、結果はその日付です。
  • 引数が数値の場合、結果は 0001 年 1 月 1 日から n-1 日後の日付となります。n は数値の整数部分です。
  • 引数がストリングの場合、結果はストリングで表された日付となります。 ストリングにタイム・ゾーンが含まれる場合、タイム・ゾーンは無視されます。 ストリングの CCSID が、サーバーの対応するデフォルトの CCSID と同じでないと、 ストリングはまずはじめに、その CCSID に変換されます。

結果の CCSID は、引数のコード化スキームに適合する CCSID であり、結果のサブタイプは、CCSID に適合するサブタイプです。

例 1: RECEIVED がある表の TIMESTAMP 列で、その値の 1 つがタイム・スタンプ「1988-12-25-17.12.30.000000」に相当するものとします。 この値の場合、以下のステートメントは 1988 年 12 月 25 日の内部表現を戻します。
   DATE(RECEIVED)
変更の開始例2: DATCOLがテーブル内のCHAR(7)カラムであり、その値の1つが文字列「1989061」であると仮定します。この文字列は、 yyyyが年nnnがその年の日 を表すyyyynnn形式の日付を表します。 この値の場合、以下のステートメントは 1989 年 3 月 2 日の内部表現を戻します。
   DATE(DATCOL)
変更の終わり
例3Db2 は「1989-03-02」を1989年3月2日のISO表記として認識します。 したがって、以下のステートメントは 1989 年 3 月 2 日の内部表現を戻します。
   DATE('1989-03-02')