DAY スカラー関数

DAY 関数は、値の日の部分を戻します。

Read syntax diagramSkip visual syntax diagramDAY(expression)

スキーマは SYSIBM です。

expression
組み込みデータ・タイプである DATE、TIMESTAMP、数値、または CLOB ではない文字ストリングのいずれかの値を戻す式です。

値が数値である場合は、日付期間またはタイム・スタンプ期間でなければなりません (SQLSTATE 42815)。

値が文字ストリングである場合、日付またはタイム・スタンプの有効なストリング表記でなければなりません。 Unicode データベースでは、値が GRAPHIC ストリングであると (DBCLOB を除く)、まず文字ストリングに変換されてから、関数が実行されます。

この関数の結果は長精度整数 (large integer) です。 引数が NULL になる可能性がある場合、結果も NULL になる可能性があります。 引数が NULL であれば、結果は NULL 値です。

その他の規則は、引数のデータ・タイプに応じて以下のように異なります。
  • 引数が DATE、TIMESTAMP、あるいは日付またはタイム・スタンプの有効なストリング表記の場合
    • 結果は、値の日の部分 (1 から 31 の整数) になります。
  • 引数が日付期間またはタイム・スタンプ期間の場合
    • 結果は、値の日の部分 (-99 から 99 の整数) になります。 ゼロ以外の結果の符号は、引数と同じになります。

  • 例 1: PROJECT 表を使用して、 WELD LINE PLANNING プロジェクト (PROJNAME) の終了予定日 (PRENDATE) をホスト変数 END_DAY (短精度整数) に設定します。
       SELECT DAY(PRENDATE)
         INTO :END_DAY
         FROM PROJECT
         WHERE PROJNAME = 'WELD LINE PLANNING'
    サンプル表を使用した場合、結果として END_DAY は 15 に設定されます。
  • 例 2: 列 DATE1 (データ・タイプは DATE) には、2000-03-15 に相当する内部値が入っていて、 列 DATE2 (データ・タイプは DATE) には、1999-12-31 に相当する内部値が入っているとします。
       DAY(DATE1 - DATE2)
    結果は、15 の値になります。