Frequently asked question

Why does the IN operator return NODATA for a False condition (value is not in list)

Last Published: April 25, 2020

Answer

With the IN operator, if the value is not in the list, then NoData is returned.

A previous bug with the IN operator allowed 0 to be incorrectly returned if a value was not in the list. This has been resolved at 8.0.1.

For example, consider a test to see if 1 is in the list {3,4,5}. In versions previous to 8.0.1, the condition evaluates as follows:

  "1 IN {3,4,5}" returns "0"

In versions 8.0.1 and above, the condition evaluates as:

  "1 IN {3,4,5}" returns "NODATA"

An alternative for users wishing to maintain a favored functionality is to enclose the IN function in brackets. For example:

  "(NOT ISNULL (1 IN {3,4,5}) )"  returns "0"

Article ID:000006882

Software:
  • Legacy Products

Receive notifications and find solutions for new or common issues

Get summarized answers and video solutions from our new AI chatbot.

Download the Esri Support App

Discover more on this topic

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options