DB2 Version 9.7 for Linux, UNIX, and Windows

DATE スカラー関数

構文図を読む構文図をスキップする
>>-DATE--(--expression--)--------------------------------------><

スキーマは SYSIBM です。

DATE 関数は、値から日付を戻します。

引数は、DATE、TIMESTAMP、3 652 059 以下の正数、日付またはタイム・スタンプの有効なストリング表記、あるいは CLOB でも DBCLOB でもない長さ 7 文字のストリングのいずれかでなければなりません。

Unicode データベースだけが、 日付またはタイム・スタンプの GRAPHIC ストリング表現である引数をサポートします。 Unicode データベースでは、指定した引数が GRAPHIC ストリングであると、 まず文字ストリングに変換されてから、関数が実行されます。

引数が長さ 7 のストリングの場合、 yyyynnn という形式の有効な日付を表していなければなりません。 ここで、yyyy は年を示す数字、 nnn は年間通算日を示す 001 から 366 までの数字です。

関数の結果は DATE です。 引数が NULL になる可能性がある場合、結果も NULL になる可能性があります。 引数が NULL であれば、結果は NULL 値です。

その他の規則は、引数のデータ・タイプに応じて以下のように異なります。
  • 引数が DATE、TIMESTAMP、あるいは日付またはタイム・スタンプの有効なストリング表記の場合
    • 結果はその値の日付部分です。
  • 引数が数値の場合
    • 結果は、0001 (1 月 1 日) から数えて n -1 日後の日付です (n は数字の整数部分)。
  • 引数が長さ 7 のストリングの場合
    • 結果は、そのストリングで表された日付になります。

列 RECEIVED (データ・タイプは TIMESTAMP) には、「1988-12-25-17.12.30.000000」に相当する内部値が入っているものとします。
  • 以下の例の結果は、「1988-12-25」の内部表記になります。
       DATE(RECEIVED)
  • 以下の例の結果は、「1988-12-25」の内部表記になります。
       DATE('1988-12-25')
  • 以下の例の結果は、「1988-12-25」の内部表記になります。
       DATE('25.12.1988')
  • 以下の例の結果は、「0001-02-04」の内部表記になります。
       DATE(35)