web-dev-qa-db-fra.com

Sqlite prend-il en charge tout type d'instruction IF (condition) dans un select

Sqlite prend-il en charge la fonction sql "if" dans l'instruction select?

par exemple

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

qui retournerait un si la longueur était supérieure à 4 caractères. sinon il reviendrait '' comme b

S'il prend en charge une condition dans la sélection, quelle est la syntaxe à utiliser?

J'ai vérifié http://sqlite.org/lang_corefunc.html mais je ne le vois pas.

74
Matt Peters

Voir l'expression case .

Une expression CASE joue un rôle similaire à IF-THEN-ELSE dans d'autres langages de programmation.

Pour votre exemple

select case when length(a) > 4 then a else '' end as b
from foo
122
Mark

Vous pouvez utiliser case pour cela:

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