【Salesforce】数式 ISNULLとISBLANKの違い。ISNULLは非推奨。

Salesforce

数式で値の空白を判定しようとした際、ISNULLでは期待した結果が得られなくて、ISBLANKに変えたら期待した結果が得られる。ISNULLとISBLANKって似たような用途だけど、何が違うのだろう。

と思ってISNULLとISBLANKの違いを調べ始めたら、そもそもISNULLは非推奨でした・・
数式の演算子と関数 I – Z

新しい数式では、ISNULL の代わりに ISBLANK を使用してください。ISBLANK には ISNULL と同じ機能がありますが、さらにテキスト項目がサポートされています。Salesforce では継続して ISNULL をサポートしますので、既存の数式を変更する必要はありません。

つまり、ISBLANKはISNULLの上位互換なので、基本的にISBLANKを使ってねということらしいです。

ただせっかくなので、ISNULLとISBLANKを使用した時の結果を比べてみました。各データ型が未設定の時にISNULLとISBLANKでどのような結果が得られるのか試した結果が下記です。

データ型 ISNULL ISBLANK
URL false true
テキスト false true
テキストエリア false true
パーセント true true
メール false true
時間 true true
数値 true true
地理位置情報 true true
通貨 true true
電話 false true
日付 true true
日付/時間 true true

ちなみにパーセント、数値、通貨のデータ項目は空白項目の処理(下図)の設定を誤るとISBLANK判定が期待通リとならない場合があるので注意が必要です。

数値系の項目をISBLANK判定する場合は「空白項目を空白として処理」を選択します。「空白項目を0として処理」を選択すると空白が0に置き換わってしまうので、ISBLANK判定がfalseになります。その場合は数値項目>0などで判定してあげるとよいでしょう。

コメント

タイトルとURLをコピーしました