Does sqlite support any kind of IF(condition) statement in a select
See the case expression.
A CASE expression serves a role similar to IF-THEN-ELSE in other programming languages.
For your example
select case when length(a) > 4 then a else '' end as b
from foo
You can use case for that:
select case when length(a)>4 then a else ' ' end from foo;
Since version 3.32.0 you can use iif(X,Y,Z):
select iif( length( a ) > 4 , a , ' ') as b
from foo
From the codumentation:
The iif(X,Y,Z) function is logically equivalent to and generates the same bytecode as the CASE expression "CASE WHEN X THEN Y ELSE Z END".