- 카테고리:
IFF¶
단일 수준 if-then-else
식입니다. CASE 와 유사하지만, 단일 조건만 허용합니다.
condition
이 TRUE로 평가되는 경우 expr1
을 반환하고, 그렇지 않은 경우 expr2
를 반환합니다.
구문¶
IFF( <condition> , <expr1> , <expr2> )
인자¶
condition
조건은 BOOLEAN 값(True, False 또는 NULL)으로 평가되어야 하는 식입니다..
expr1
일반적인 식입니다.
condition
이 true인 경우, 이 값이 반환됩니다.expr2
일반적인 식입니다.
condition
이 true가 아닌 경우(즉, false 또는 NULL인 경우), 이 값이 반환됩니다.
사용법 노트¶
condition
은UNION
,INTERSECT
,EXCEPT
,MINUS
같은 세트 연산자가 있는SELECT
문을 포함할 수 있습니다. 세트 연산자를 사용할 때 데이터 타입이 호환되는지 확인하십시오. 자세한 내용은 세트 연산자 항목의 일반적인 사용법 노트 를 참조하십시오.
데이터 정렬 세부 정보¶
함수에서 반환된 값은 THEN
/ELSE
인자 중 우선 순위 가 가장 높은 데이터 정렬의 데이터 정렬 사양을 유지합니다.
예¶
다음 예는 IFF
함수를 보여줍니다.
select iff(True, 'true', 'false'); +----------------------------+ | IFF(TRUE, 'TRUE', 'FALSE') | |----------------------------| | true | +----------------------------+select iff(False, 'true', 'false'); +-----------------------------+ | IFF(FALSE, 'TRUE', 'FALSE') | |-----------------------------| | false | +-----------------------------+select iff(NULL, 'true', 'false'); +----------------------------+ | IFF(NULL, 'TRUE', 'FALSE') | |----------------------------| | false | +----------------------------+SELECT val, IFF(val::int = val, 'integer', 'non-integer') FROM ( SELECT column1 as val FROM values(1.0), (1.1), (-3.1415), (-5.000), (null) ) ORDER BY val DESC; +---------+-----------------------------------------------+ | VAL | IFF(VAL::INT = VAL, 'INTEGER', 'NON-INTEGER') | |---------+-----------------------------------------------| | NULL | non-integer | | 1.1000 | non-integer | | 1.0000 | integer | | -3.1415 | non-integer | | -5.0000 | integer | +---------+-----------------------------------------------+