SQLite's expression evaluation, at least in the VM code generated from the parse tree, is quite regular and traditional. The result of the boolean equality operator is in fact TRUE or FALSE as those literals have been [recently recognized and documented](https://sqlite.org/lang_expr.html#booleanexpr). This is not going to depend on where in the parse tree such an expression appears. So I think the answer to the "what happens" part of your question is "yes". You ask about the SQL standard, as if it might be controlling. I doubt that it is, except insofar as it has affected common expectation and the behavior of PostgreSQL which is frequently used as guidance by Dr. Hipp. Looking at the docs, I notice that this "actual expression result" point is not actually documented, at least not that I could find in the expectable places. So, the hardline position would be that the behavior cannot relied upon. But that would be to ignore the great weight and value given to backward compatibility by the SQLite designer(s). Since SQLite boolean expressions already generate 0 or 1 (aka FALSE or TRUE), I maintain that it can be relied upon because there may already be many applications relying upon it now.