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)
例3 : Db2 は「1989-03-02」を1989年3月2日のISO表記として認識します。 したがって、以下のステートメントは 1989 年 3 月 2 日の内部表現を戻します。
DATE('1989-03-02')