In general,using some specific value of a user's response to mean something special is a bad choice. Like using a question such as "On a scale of 1 to 10, how would you rate...?" and then using 0 as "no answer (passive)", -1 for "expressly claims to have no opinion", -2 for "expressly declined to answer", -3 for "VEHEMENTLY declined to answer (and the assault trial starts next week)" and so on.
The reason it is a bad idea is that it quickly devolves into a situation where the answer means two different things depending on values. I.e. in one range, it is a usable set of values, but in another range it says someone about the person, not about the answer. This makes queries tougher when you want to take average responses. If you are splitting hairs, one could argue the point (admittedly not strongly) that using two possible classes of meanings for the same field is a normalization violation because in one range it is data but in another range it is metadata.
It is far better to have a yes/no flag somewhere that says "no answer" and if the flag is NOT set for "no answer" then you look at the slot contents. That's a FAR easier WHERE clause to write.
If you have a data entry form, it is easy to have the flag default to the "No Answer" case but then put a Change event handler behind the code value. If someone offers a number, the Change event handler can reset the flag behind the scenes so the flag needs neither a separate control nor explicit maintenance.