特集「ヨモヤマビルド」

EntityのDate型項目についてのちょっとした注意点

みなさんこんにちは、OutSystems Platformチームの鈴木です。
今回は、EntityのDate型項目についてのちょっとした注意点です。

 
どんな事かというと、初期値です。
普通の処理系だったらテーブル上のDate型の項目に対して何も設定しないで登録するとnullで登録されますよね。
なのですが、OutSystems Platformでは「1900-01-01 00:00:00」が設定されるのです。
NullDate()関数は「1900-01-01 00:00:00」の場合にtrueを返すようになっています。
それはそれで良いのですが、AdvancedQueryで大小比較する場合には注意が必要です。
「Fuga.HogeDate < @Piyo」とかって条件を指定するとFuga.HogeDateがnullだと思っていたレコードに「1900-01-01 00:00:00」が設定されていて想定していないレコードがヒットする事になります。
意外とはまる事があるので要注意です。