DAY スカラー関数
DAY 関数は、値の日の部分を戻します。
スキーマは 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 (短精度整数) に設定します。
サンプル表を使用した場合、結果として END_DAY は 15 に設定されます。SELECT DAY(PRENDATE) INTO :END_DAY FROM PROJECT WHERE PROJNAME = 'WELD LINE PLANNING'
- 例 2: 列 DATE1 (データ・タイプは DATE) には、2000-03-15 に相当する内部値が入っていて、
列 DATE2 (データ・タイプは DATE) には、1999-12-31 に相当する内部値が入っているとします。
結果は、15 の値になります。DAY(DATE1 - DATE2)