sqlite是否支持select中的任何类型的IF(条件)语句

时间:2009-08-18 15:26:07

标签: sql sqlite

sqlite是否支持select语句中的“if”函数?

例如

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

如果长度超过4个字符,则返回a。否则它将返回''作为b

如果它确实支持select中的条件应该使用什么语法?

我已查看http://sqlite.org/lang_corefunc.html但我看不到它。

3 个答案:

答案 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”,并生成相同的字节码。