Does sqlite support any kind of IF(condition) stat

2019-01-13 11:41发布

问题:

Does sqlite support the sql function "if" in the select statement?

for example

select if( length( a ) > 4 , a , ' ') as b
from foo

which would return a if the length was over 4 chars long. or else it would return ' ' as b

If it does support a condition in the select what is the syntax is should be using?

I have checked http://sqlite.org/lang_corefunc.html but I can't see it.

回答1:

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


回答2:

You can use case for that:

select case when length(a)>4 then a else ' ' end from foo;