v60NumWithDateBehavior ビルド記述子オプションは、NUM フィールドから DATE フィールドへの代入の動作が、EGL バージョン 6 で有効だった動作に準拠しているかどうかを指定します。このオプションは、比較では効果がありません。
以下の例を考えてください。
aNum Num(8) = 20130501;
aDate Date = aNum;
EGL バージョン 6 では、NUM フィールドから DATE フィールドへの代入によってバイト単位のコピーが行われました。この例では、aDate フィールドは 2013 年 5 月 1 日に設定されます。
EGL バージョン 7 からは、同じステートメントによって、1899 年 12 月 31 日の後の 20,130,501 日目を表す日付が代入されます。
値
- NO (デフォルト)
- 動作は、EGL バージョン 7 以降の説明のとおりです。
- YES
- 動作は、EGL バージョン 6 の説明のとおりです。以下に、追加の詳細を示します。
- NUM 型の値が DATE 型の値にコピーされるときに、検証は行われません。
- 桁数が 8 より少ない場合、生成プログラムは先行ゼロを追加します。例えば、130501 を DATE 型のフィールドにコピーすると、フィールドは 13 年 5 月 1 日に設定されます。
- 桁数が 8 より大きい場合、最後の 8 桁のみがコピーされます。例えば、150020130501 を DATE 型のフィールドにコピーすると、フィールドは 2013 年 5 月 1 日に設定されます。
- NUM(12,3) として定義されたフィールドは、NUM(9) として定義されたフィールドと同じように処理されます。10 進数は無視されます。