Last week I ran into some confusion when trying to use a FieldName is not null expression. See https://community.esri.com/thread/211900-arcgis-pro-select-by-attribute-is-not-null .
There were a number of records that had the string '<Null>' entered as the value which threw me off my game considerably. I talked to the data owner and he jumped on the problem immediately making the proper corrections.
Today I looked at the data again: it's a feature layer that is published from an enterprise geodatabase feature class to our local portal: the data owner made the edits to the e-gdb feature class. Now when I look at the data via the Select by Attribute tool in Pro, I still see <Null> listed as a value. The expression:
Reach ID is Equal to <Null> fails as it should
while Reach ID Is Null works, as it should
and Reach ID Is Not Null works as it should
However I still see an issue with the way Pro displays string field values with out quotes: the list displays <Null> as a valid value. After last week's foray, I still would consider this a six character string. ( <,N,u,l,l,>), but it isn't.
I can only speak for languages that implement the concept of 'null'-ness or 'none'-ness
It is either null, or it isn't (ie python is one)
Casting it to a string so it shows '<null>' is just pure evil, confuses people with <null>
I hate any concept of null/none that is not an obvious expression of an impossible value, whether it be text, float or integer. This distinguishes real valid values from a total lack of an observation.
It makes people complacent. We will blunder on regardless of how long we have been programming. -999 was good enough at one time.
'nuff said
It is either null, or it isn't (ie python is one)
Casting it to a string so it shows '<null>' is just pure evil, confuses people with <null>
Absolutely.
My problem is ArcGIS Pro does not make the distinction when offering 'values' in the selection tool like ArcGIS ArcMap does.
Joe, when using the Select Layer by Attribute tool with GDBs (not sure about AGOL/Portal layers), if you see <NULL> in a Values list for a string field, then you have <NULL> written out as text. The Values list never populates NULL (if it is truly NULL and not NULL written as text), so if you see it in their, it is a string.
I assume AGOL/Portal layers are the same, but I will have to check and post back.
They are in fact text- the data owner hadn't fixed them. But.... I tried a selection where FieldName is Equal To <Null> and it failed. I can't remember now what the error was and now the owner has fixed the data, so <Null> no longer appears in the list. And that's all that matters to me at this point!