ISBLANK vs ISNULL
Per the documentation, ISBLANK() should be used instead of the legacy ISNULL(). The biggest difference having to do with text fields.
Use ISBLANK instead of ISNULL in new formulas. ISBLANK has the same functionality as ISNULL, but also supports text fields. Salesforce will continue to support ISNULL, so you do not need to change any existing formulas.
This is further explained by,
Text fields are never null, so using ISNULL() with a text field always returns false. For example, the formula field IF(ISNULL(new__c) 1, 0) is always zero regardless of the value in the New field. For text fields, use the ISBLANK function instead.
I think it's likely to depend on the scenario in question, but you should be aware that ISNULL
does not work the same way as ISBLANK
for text.
When dealing with text and lookup fields, a blank value in the field yields true
for ISBLANK()
but false
for ISNULL()
—even if you set a text field to null
in apex it is still treated as blank (i.e. not null) in the formula.
Essentially the system works the same way as you'd expect in a programming language: an empty string is not the same as a null
value, it is still an instance of a string.