if()
if() 함수는 조건 표현식을 평가하여 참이면 첫 번째 값을, 거짓이면 두 번째 값을 반환합니다. 3항 연산자(ternary operator)와 동일한 방식으로 동작합니다.
문법
if(CONDITION, EXPR_IF_TRUE, EXPR_IF_FALSE)
매개변수
CONDITION- 평가할 조건 표현식입니다. 불리언
true이거나 null이 아닌 값으로 평가되면 참으로 간주합니다. EXPR_IF_TRUE- 조건이 참일 때 반환할 값 표현식입니다.
EXPR_IF_FALSE- 조건이 거짓이거나
null일 때 반환할 값 표현식입니다.
설명
if() 함수는 CONDITION을 평가합니다. 조건이 불리언 true이거나 불리언이 아닌 null이 아닌 값이면 참으로 판정하여 EXPR_IF_TRUE를 반환합니다. 조건이 불리언 false이거나 null이면 EXPR_IF_FALSE를 반환합니다.
반환 타입은 EXPR_IF_TRUE와 EXPR_IF_FALSE의 타입에 따라 결정됩니다. 두 표현식의 타입이 서로 다르면 자동으로 상위 타입으로 승격됩니다(예: 정수와 실수가 혼합되면 실수로 반환).
오류 코드
해당 사항 없음
사용 예
이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.
-
HTTP 상태 코드가 400 이상이면 오류로 분류
table limit=5 WEB_APACHE_SAMPLE | eval result = if(status >= 400, "error", "ok") | fields status, result -
응답 크기가 1000바이트를 초과하는지 여부에 따라 분기
table limit=5 WEB_APACHE_SAMPLE | eval label = if(bytes > 1000, "large", "small") | fields bytes, label -
조건이 거짓인 경우 — 두 번째 표현식 반환
table limit=5 WEB_APACHE_SAMPLE | eval result = if(method == "GET", "읽기", "쓰기") | fields method, result -
NULL 입력 — 조건이 null이면 거짓으로 처리
json "{'val': null}" | eval result = if(val, "존재", "없음") | # result: 없음
호환성
if() 함수는 소나 4.0 이전 버전부터 제공되었습니다.