【Salesforce】数式 ISNULLとISBLANKの違い。ISNULLは非推奨。
数式で値の空白を判定しようとした際、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などで判定してあげるとよいでしょう。