On Friday, 1 November, 2019 10:20, Simon Slavin <slav...@bigfraud.org> wrote:

>On 1 Nov 2019, at 4:17pm, Simon Slavin <slav...@bigfraud.org> wrote:

>    WHERE (c1 IS NULL) OR (C1 != 2)

> which could quite reasonably return rows.  However, the NULL possibility
> may be redundant.  I can't tell without tests.

The expression NOT (c1 IS NOT NULL AND c1 == 2)
is equivalent to c1 IS NULL OR c1 != 2
is equivalent to (c1 IS NOT 2)
or the original proper expression NOT (C1 IS 2)

and arises from the use of the '==' and '!=' rather that IS and IS NOT, and 
generating work-arounds to handle NULLs.  Work-arounds for handling NULLs are 
only required for non-equality tests since there is no standard operators 
handling nulls for the other comparison operators > < >= <=

-- 
The fact that there's a Highway to Hell but only a Stairway to Heaven says a 
lot about anticipated traffic volume.




_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to