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 을 확인 했지만 볼 수 없습니다.
답변:
이에 대한 사례 를 사용할 수 있습니다 .
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
codumentation에서 :
iif (X, Y, Z) 함수는 CASE 표현식 "CASE WHEN X THEN Y ELSE Z END"와 논리적으로 동일하며 동일한 바이트 코드를 생성합니다.
SELECT sqlite_version();
작동하지 않는 명령문을 실행하려고 한 것과 동일한 방식으로 실행 해보십시오 .