People generally expect equality to produce either true or false. Not a tri-value pair.
That interpretation makes sense to me when I read the docs, but is way too easy to miss when I'm actually doing comparisons.
That interpretation makes sense to me when I read the docs, but is way too easy to miss when I'm actually doing comparisons.
For example: a shopping cart might contain a tee-shirt in blue colour and expedited shipping in NULL colour. That blue tee-shirt might be the same colour as some blue socks... but that NULL-coloured shipping isn't the same colour as a NULL-coloured charitable donation.
Counter example: SAP HANA doesn't support NULLs, and as a result if I see 0 in any column in the database I have to wonder was it 0 that user submitted or 0 that system added as a placeholder. I would need to go back to documentation and see if the field is mandatory etc. Better have it explicitly stored in the data itself.