sqlite是否在select语句中支持sql函数“ if”?
例如
select if( length( a ) > 4 , a , ' ') as b
from foo
如果长度超过4个字符,则返回a。否则它将返回''为b
如果它在选择中支持条件,则应使用什么语法?
我已经检查了 http://sqlite.org/lang_corefunc.html,但看不到。
sqlite是否在select语句中支持sql函数“ if”?
例如
select if( length( a ) > 4 , a , ' ') as b
from foo
如果长度超过4个字符,则返回a。否则它将返回''为b
如果它在选择中支持条件,则应使用什么语法?
我已经检查了 http://sqlite.org/lang_corefunc.html,但看不到。
Answers:
您可以为此使用案例:
select case when length(a)>4 then a else ' ' end from foo;
从版本3.32.0开始,您可以使用iif(X,Y,Z):
select iif( length( a ) > 4 , a , ' ') as b
from foo
从代码:
iif(X,Y,Z)函数在逻辑上与CASE表达式“ CASE WHEN X THEN Y ELSE Z END”相同,并生成相同的字节码。
SELECT sqlite_version();
以与尝试执行无效语句相同的方式执行。