Splunk Search

Any difference between NULL and null() in eval?

helge
Builder

In an eval expression, is there any difference between using NULL and null()?

Use case: I want to return null in an eval expression. I am finding that the following two expressions give the same result and I want to make sure that both are officially correct:

  • if (isnotnull (fieldX), fieldX * 10, NULL)
  • if (isnotnull (fieldX), fieldX * 10, null())
1 Solution

woodcock
Esteemed Legend

In the former case, you are setting it to the value of the field named NULL, which in your case, clearly doesn't exist right now HOWEVER that might not always be the case. It is equivalent to if(isnotnull(fieldX), fieldX*10, ThisFieldNameDoesNotExistSoTheValueThatItHasAlsoDoesNotExistSoRightNowThisEvaluatesToNULL). So it is very poor practice to use the former and you should use the latter.

View solution in original post

woodcock
Esteemed Legend

In the former case, you are setting it to the value of the field named NULL, which in your case, clearly doesn't exist right now HOWEVER that might not always be the case. It is equivalent to if(isnotnull(fieldX), fieldX*10, ThisFieldNameDoesNotExistSoTheValueThatItHasAlsoDoesNotExistSoRightNowThisEvaluatesToNULL). So it is very poor practice to use the former and you should use the latter.

helge
Builder

Now you mention it the answer is quite obvious 😉
Thanks!

0 Karma

DalJeanis
Legend

Ah yes, The Field Who Must Not Be Named...

Get Updates on the Splunk Community!

Enterprise Security Content Update (ESCU) | New Releases

In December, the Splunk Threat Research Team had 1 release of new security content via the Enterprise Security ...

Why am I not seeing the finding in Splunk Enterprise Security Analyst Queue?

(This is the first of a series of 2 blogs). Splunk Enterprise Security is a fantastic tool that offers robust ...

Index This | What are the 12 Days of Splunk-mas?

December 2024 Edition Hayyy Splunk Education Enthusiasts and the Eternally Curious!  We’re back with another ...