I just want to point something out that might help the original poster.
On Saturday, March 7, 2020, 7:00:21 AM EST,
sqlite-users-requ...@mailinglists.sqlite.org
wrote: >
> 1. NULL is NULL = Yes, True,
> 2. NULL is FALSE = Nope, False.
> 3. NULL is TRUE = Nope, False.
> 4. NULL is
On 2020/03/07 03:52, Xinyue Chen wrote:
Hi,
If I change IS NOT FALSE to IS TRUE, the results will be different. I
assume they should perform in the same way?
if you say "NULL IS NOT FALSE" is always true, then 'NULL IS TRUE' should
also be always true. Then why doesn't that query also return 4
On 3/6/20 9:54 PM, Keith Medcalf wrote:
On Friday, 6 March, 2020 19:25, Richard Damon wrote:
It is sort of like NaN, where a Nan is neither less than, greater than
or equal to any value, including itself.
NULL (as in SQL NULL) means "missing value" or "unknown". NULL represents any value
On Friday, 6 March, 2020 19:25, Richard Damon wrote:
>It is sort of like NaN, where a Nan is neither less than, greater than
>or equal to any value, including itself.
NULL (as in SQL NULL) means "missing value" or "unknown". NULL represents any
value within the domain, we simply do not know
On 3/6/20 9:00 PM, Simon Slavin wrote:
On 7 Mar 2020, at 1:52am, Xinyue Chen wrote:
If I change IS NOT FALSE to IS TRUE, the results will be different. I
assume they should perform in the same way?
No. Because NULL is not TRUE and is not FALSE.
SQLite version 3.28.0 2019-04-15 14:49:49
On 3/6/2020 8:52 PM, Xinyue Chen wrote:
If I change IS NOT FALSE to IS TRUE, the results will be different.
NULL IS TRUE is always false. NULL IS NOT FALSE is always true. So it's not
surprising that the results are different.
SQL uses trivalent logic. NULL is neither FALSE nor TRUE.
I
On 7 Mar 2020, at 1:52am, Xinyue Chen wrote:
> If I change IS NOT FALSE to IS TRUE, the results will be different. I
> assume they should perform in the same way?
No. Because NULL is not TRUE and is not FALSE.
SQLite version 3.28.0 2019-04-15 14:49:49
Enter ".help" for usage hints.
Connected
> If I change IS NOT FALSE to IS TRUE, the results will be different. I
> assume they should perform in the same way?
> if you say "NULL IS NOT FALSE" is always true, then 'NULL IS TRUE' should
> also be always true.
"NULL IS NOT FALSE" is true because NULL is not a value therefor it is not
Hi,
If I change IS NOT FALSE to IS TRUE, the results will be different. I
assume they should perform in the same way?
if you say "NULL IS NOT FALSE" is always true, then 'NULL IS TRUE' should
also be always true. Then why doesn't that query also return 4 rows?
Thanks!
On Fri, Mar 6, 2020 at 5:45
On Friday, 6 March, 2020 17:48 Xinyue Chen wrote:
...
>select t1.textid a, i.intid b
> from t t1,
> i i
> where (t1.textid = i.intid and t1.textid in (12) and t1.textid = i.intid)
>or (t1.textid = null IS NOT FALSE)
>group by i.intid, t1.textid;
I got rid of all the extra brackets
Change the "(t1.textid = null)" to "(t1.textid IS NULL)". Null has no value,
you have to check for it explicitly.
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
On 3/6/20, Xinyue Chen wrote:
> -- Buggy query
> select t1.textid a, i.intid b
> from t t1,
> i i
> where (((t1.textid = i.intid) and (t1.textid in (12)) and (t1.textid =
> i.intid)) or ((t1.textid = null) IS NOT FALSE))
> group by i.intid, t1.textid;
(1) The expression "t1.textid=null" is
Hi,
I am not sure if I found a bug in SQLite version 3.31.1 and 3.32. Could you
please check?
CREATE TABLE t (
textid TEXT
);
INSERT INTO t
VALUES ('12');
INSERT INTO t
VALUES ('34');
CREATE TABLE i (
intid INTEGER PRIMARY KEY
);
INSERT INTO i
VALUES (12);
INSERT INTO i
VALUES (34);
CREATE
13 matches
Mail list logo