Does sqlite support any kind of IF(condition) statement in a select

前端 未结 3 947
后悔当初
后悔当初 2020-12-04 22:51

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

for example

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


        
相关标签:
3条回答
  • 2020-12-04 23:28

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

    0 讨论(0)
  • 2020-12-04 23:40

    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
    
    0 讨论(0)
  • 2020-12-04 23:53

    You can use case for that:

    select case when length(a)>4 then a else ' ' end from foo;
    
    0 讨论(0)
提交回复
热议问题