>Maybe it should say 'Non-Zero' or 'Greater than Zero' rather than
>true, since true, as a symbol, as a special value.

Yes and no, True and False is SQLite work as one would expect (assuming that 
one is a programmer is a language that behaves as the underlying hardware (CPU) 
behaves).  The "False" state is any state in which all the bits are zero.  The 
"True" state is one in which ANY bit is non-zero.

Therefore you get:

sqlite> select -1 is true;
1
sqlite> select 0 is true;
0
sqlite> select 1 is true;
1
sqlite> select 2 is true;
1

and conversely for "is false".  You can also treat True and False as "values" 
in which case True has the arbitrary integer value 1, and false has the 
arbitrary integer value 0 (which complies with the "True means ANY bit is 1 and 
false means NO bits are one".  Any arbitrary non-zero value could have been 
chosen for the "value" of True when it is used as a value.

Using the expression "= TRUE" and "= FALSE" is likely a programmer error, just 
as "= NULL" is likely a programmer error, because what is really meant is "is 
TRUE", "is FALSE" and "is NULL" ...

---
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