GeneXusでDB値のNull判定が何回聞いても覚えられない。
下記の状態のデータが存在する場合にGeneXusの条件式での挙動。
想定環境
GeneXus X Ev3 u6
Oracle 11g R2
Where で IsNull を使用
For each
Where COMPANY_NAME.IsNull()
MSG(COMPANY_ID.ToString().Trim())
Endfor
該当レコード
COMPANY_ID:3
Where で IsEmpty を使用
For each
Where COMPANY_NAME.IsEmpty()
MSG(COMPANY_ID.ToString().Trim())
Endfor
該当レコード
COMPANY_ID:4
If文で IsNull を使用
For each
If COMPANY_NAME.IsNull()
MSG(COMPANY_ID.ToString().Trim())
Endif
Endfor
該当レコード
COMPANY_ID:3
If文で IsEmpty を使用
For each
If COMPANY_NAME.IsEmpty()
MSG(COMPANY_ID.ToString().Trim())
Endif
Endfor
該当レコード
COMPANY_ID:3、4
変数格納後If文で IsEmpty を使用
For each
&COMPANY_NAME= COMPANY_NAME
If &COMPANY_NAME.IsEmpty()
MSG(COMPANY_ID.ToString().Trim())
Endif
Endfor
該当レコード
COMPANY_ID:3、4
ちゃんと覚えなきゃな・・・・
※当記事の情報はバージョンや言語によって挙動が違う可能性があります。
あくまでも参考程度に使用してください。