VALIDDATE 関数

目的

指定されたパターンに一致する有効な日付を文字列が保持しているかどうかを示す値を返します。

構文

VALIDDATE(d, p, w)

パラメーター

d は文字式です。d は、p で指定されたパターンの日付/時刻を表す文字列かどうかの評価対象となる入力日付を指定します。

p は、サポートされている日付/時刻パターンです。このパラメーターは省略可能です。指定する場合は、d の日付/時刻パターンを指定します。指定しなかった場合は、デフォルトの日付/時刻パターン YYYYMMDDHHMISS999 が使用されます。

w は、整数に変換可能な式 (1976 など) を指定します。負の値を指定した場合は、コード実行時の年数から差し引かれるオフセットになります。指定しなかった場合は、WINDOW オプションで指定されている値が使用されます。

説明

VALIDDATE 関数は、p で指定されたパターンに一致する日付/時刻値を文字列 d が保持している場合には '1'B を返します。

d パラメーターおよび p パラメーターは計算型としなければなりませんが、文字型にできるようにもする必要があります。そうでない場合は文字に変換されます。

p で指定したパターンに句読文字が含まれている場合は、一致する文字が入力文字列に含まれているかどうかがチェックされます。たとえば、YYYY-MM-DD と指定すると、VALIDDATE は 2015-03-14 を受け入れますが、2015.03.14 や 2015/03/14 は受け入れません。

サポートされている日付/時刻パターンの詳細については、ヘルプ トピックの「日付/時刻組み込み関数」を参照してください。

DCL DUEDATE CHAR(8);
DCL (B1,B2) BIT(1);
DUEDATE = ’20150228’;
B1 = VALIDDATE( DUEDATE, ’YYYYMMDD’ ); /* B1 = ’1’B */
DUEDATE = ’02302015’;
B2 = VALIDDATE( DUEDATE, ’DDMMYYYY’ ); /* B2 = ’0’B */

制約事項

なし。