SQLite Forum

Bug when converting string to boolean?
Login
The documentation you quoted suggests that a string is only considered `TRUE` when it starts with a number that either evaluates to one, or possibly, non-zero (I can't tell from that extract). In either case, `'xxx1'` does _not_ start with a number, and I wouldn't expect it to be true.

For most of the rest of your examples, you are are not coercing SQLite to consider `'1englisg'` as a boolean, you're comparing it with other numbers etc. However, if you _do_ coerce this (by "`or 0`"):

```
sqlite> select '1english' or 0 ;
1
sqlite> select ( '1english' or 0 ) = TRUE ;
1
sqlite> select ( '1english' or 0 ) = FALSE ;
0
sqlite> select ( '1english' or 0 ) is TRUE ;
1
sqlite> select ( '1english' or 0 ) is FALSE ;
0
```