isSQLNullable プロパティーは、そのフィールドを NULL 値に設定できるかどうかを示します。 このプロパティーは、SQL レコード内のフィールドでのみ使用することができます。 有効な値は NO (デフォルト) と YES です。
EGL では、以前のバージョンとの互換性を保つことを目的として、このプロパティーを維持しています。新規のコードでは、「?」型拡張文字を使用することで、NULL 可能変数であることを示します。 詳しくは、『型拡張文字』および『NULL 値および NULL 型』を参照してください。
Record mySQLRecord type SQLRecord
anInt INT {isSQLNullable = YES};
end
...
myRec mySQLRecord;
result, anotherInt INT?;
myRec.anINT = NULL;
result = myRec.anInt + 1;
EGL は式を評価する際に NULL フラグを無視するため、結果は 1 になります。
anotherInt INT? = NULL;
result = anotherInt + 1;
EGL は NULL フラグを考慮する
(いずれかのオペランドが NULL 値を持つ場合、
数値式の結果が NULL になる) ので、結果は NULL 値になります。