Unterstützt SQLite die SQL-Funktion "if" in der select-Anweisung?
zum Beispiel
select if( length( a ) > 4 , a , ' ') as b
from foo
was a zurückgeben würde, wenn die Länge mehr als 4 Zeichen lang wäre. oder es würde '' als b zurückgeben
Wenn es eine Bedingung in der Auswahl unterstützt, welche Syntax sollte verwendet werden?
Ich habe http://sqlite.org/lang_corefunc.html überprüft , kann es aber nicht sehen.
Sie können case dafür verwenden:
select case when length(a)>4 then a else ' ' end from foo;
quelle
Seit Version 3.32.0 können Sie iif (X, Y, Z) verwenden :
select iif( length( a ) > 4 , a , ' ') as b from foo
Aus der Kodokumentation:
quelle
SELECT sqlite_version();
Sie, die Anweisung so auszuführen, wie Sie versucht haben, die Anweisung auszuführen, die nicht funktioniert hat.