When a user was searching with the following filter, issues with no component values set did not appear in the search results. Any idea why?
project = XYZ AND component != "ABCDEF" AND status != Closed ORDER BY key DESC
where ABCDEF is a component in project XYZ.
By "no component values set", I mean the Component was blank or None.
Andrew, I've always stacked to the get nulls returned; so,
project = XYZ AND component != "ABCDEF" AND status != Closed OR project = XYZ AND component is empty AND status != Closed ORDER BY key DESC
Perfect. I shortened it to the following:
project = ABC AND (component != "ABCDEF" or Component is empty) and status != Closed ORDER BY Key DESC
and this seems to work as well.
But I still don't understand entirely why we have to add the "Component is empty" part. Something to do with databases and nulls versus empty strings in a query?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yup, you must explicitly find nulls using the keyword, 'empty' or 'null'.
https://confluence.atlassian.com/display/AOD/Advanced+Searching#AdvancedSearching-EMPTY
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
But it doesn't really explain why the "!=" didn't work. Wouldn't null or empty be "!= ABCDEF"?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Oh I missed your question...that's the way a relational database works. Any comparison with null is always false. If a column can have a null value, to get nulls you need to explicitly include them.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes, I suspected that was what was lurking in the back ground. Thanks again for the solution and the answer to the "why".
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
It's not just because the database works that way, it's because the world works that way and a database reflects it.
Think of the question "what colour is your cat?". Possible answers might be tortoiseshell, ginger, black, and grey, so you can ask select questions like "show me all the cats that are not ginger". But "I don't have a cat" is also an answer, and one that should clearly not show up in a select question.
In logical terms, "null" is something different from "yes" or "no" and needs to be handled clearly and distinctly.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks Nic. I love your clear example.
Of course, this means I can't blame data base programers any more. ;)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.