Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

jira filter != doesn't find empty values

Hi all,

When I create a filter where field != value, the results do not show field = EMPTY issues.

A workaround is to do (field != value OR field = EMPTY) but I was told that this was not the way it used to be so I was wondering if there is a setting for that.




3 answers

1 accepted

2 votes
Answer accepted

No, it hasn't changed. 

"Does not equal" is not quite the same as "empty" because != says you're looking for a specific value to not be there.  If there's no values to look for, you can't say that your selection isn't there because there's nothing to look for.

Well, not since JIRA 3, which didn't have JQL, so you didn't have != or empty.

Thanks, that was what I thought.  I will tell them to use the workaround I listed above.

It's a little bit confusing for humans, because of our fuzzy thinking.  Even a "yes or no" question really has three "answers" - yes, no, and not answered.

My friend explained it by saying "show me a picture of your black cat", then "show me a picture of all your cats who are not black", then "show me a picture of your dog who is not black".  I don't have a dog, so I have to look for "empty" rather than "not black", because there's no dog there to not be black.  (I love English negatives.  Not)

Like Olena Vasylevska likes this

Dang humans.  Makes perfect sense to me, but my customer is still not happy.  His concern is that in the future he will forget to use the "OR field = EMPTY" and miss records in his reports.   I told him I could change the field to required and create a dummy value (called it "no value") and set that as default.  Then go through with bulk change and find all issues with EMPTY values and change them to "no value", but I really do not like that solution as it adds even more clutter in my instance.   Any thoughts on that solution?

Yeah, I know, we need to think more logically wink

I think your cluttered solution is about the only option you have without coding.  Or just beating "empty != != " into him.  The problem is that there are genuine uses for having them work differently!

Does this work around actually work. The Or function returns the values as if they were a separate query? So you end up with the results you excluded by using != in the = EMPTY results ie. 

Pet type 

  • Cat 
  • Dog 
  • EMPTY 

(Pet Type != dog OR field = EMPTY)

Which translates to. Show me everything that is not a dog, and show me everything (including dog) that is not empty

This returns 

Dog, Empty, Cat 

Not the expected

Empty, Cat

Yes, using the right JQL does "work".  There's an important thing to understand here - JQL is not SQL and it has nothing to say about the results are returned.  When you "run" some JQL, all that the calling process gets back is a list of issues that matched the query.  

Also, empty really does mean empty - there is nothing there in the database for an empty field, nothing at all.  So in fact you can't say:

Pet type 

  • Cat 
  • Dog 
  • EMPTY 

Because all you have is

Pet type 

  • Cat 
  • Dog 

(And that's why != does not return the results, it's got nothing to compare with at all)

Your query translation is not quite right by the way

You said:  "Pet type != dog or field is empty", which means "Show me all issues with a Pet type where it is not dog, and all issues that do not have a value in "field"".  I'm guessing the issues being returned that have "Dog" on them have nothing in "field"

I think you might mean "Pet type != dog or Pet type is empty", which would give you issues with no Pet type and issues with Cat


I'm facing the same issue. I need all results that are not 'Dog' , but i want to include all 'None'/Empty results as well.
Can someone help me with the syntax?

labels != Dog OR labels = None
Doesn't do the trick and adding brackets doesn't help either.

labels != Dog OR labels is EMPTY

is the correct syntax.  There is no "None"

Like # people like this

Thanks for the syntax help everyone! This worked for me:

status not in (Done, Rejected) AND 'Customer(S) Reporting' is EMPTY

Hello Everyone - thanks for the syntax references. This worked for me:

status not in (Done, Rejected) AND 'Customer(S) Reporting' is EMPTY

One would think the != Dog would bring back every value, including a non-value as that is not Dog.  To exclude empty you should have to state != Dog and is not EMPTY.  That's the logical solution to any query!!!

Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Apps & Integrations

Send an Email or Publish to Confluence - What should you do with your release notes?

Background When you hear the words ‘Release notes’, almost always you think of an unsolicited email from a software vendor. But I am here to tell you that from our data, sending release notes via E...

135 views 1 2
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you