sqlite是否支持select语句中的“if”函数?
例如
select if( length( a ) > 4 , a , ' ') as b
from foo
如果长度超过4个字符,则返回a。否则它将返回''作为b
如果它确实支持select中的条件应该使用什么语法?
我已查看http://sqlite.org/lang_corefunc.html但我看不到它。
答案 0 :(得分:122)
请参阅case表达式。
CASE表达式在其他编程语言中起着与IF-THEN-ELSE类似的作用。
为您的例子
select case when length(a) > 4 then a else '' end as b
from foo
答案 1 :(得分:17)
您可以使用case:
select case when length(a)>4 then a else ' ' end from foo;
答案 2 :(得分:0)
从3.32.0版本开始,您可以使用iif(X,Y,Z):
product_id
摘自:
iif(X,Y,Z)函数在逻辑上等同于CASE表达式“ CASE WHEN X THEN Y ELSE Z END”,并生成相同的字节码。