I read the section on the SQLite website regarding the inconsistencies of how NULL values are handled in various databases. I didn't see anything that mentioned what I am running into, though.

In a nutshell, the following queries do not return rows when test_field is NULL. It seems counter-intuitive to me.

SELECT * FROM my_table WHERE test_field NOT LIKE 'test value%'
SELECT * FROM my_table WHERE test_field != 'test value'

I can understand the NOT LIKE query not returning rows with NULL more than I can understand the != query not returning any rows. NULL does not equal 'test value'.

Is there an easy way around this, other than adding "OR test_field IS NULL" to my queries? The example above is a lot simpler than the case I need to handle in production, so I would like to avoid having to modify every query to handle NULL values in a special case.

Reply via email to