최종 수정: 에
IF
설명
표현식 <condition>이 참이면 <value_true>를 반환하고, 그렇지 않으면 <value_false_or_null>을 반환합니다.
반환 타입: <value_true> 표현식의 결과 타입입니다.
구문
IF(<condition>, <value_true>, <value_false_or_null>)
매개변수
<condition>: Boolean 타입으로, 조건이 참인지 판단하는 데 사용하는 표현식입니다.<value_true>:<condition>이 참일 때 반환하는 값입니다.<value_false_or_null>:<condition>이 거짓이거나 NULL일 때 반환하는 값입니다.
예제
-
데이터 준비
create table test_if(
user_id int
) properties('replication_num' = '1');
insert into test_if values(1),(2),(null); -
예제 1
SELECT user_id, IF(user_id = 1, "true", "false") AS test_if FROM test_if;+---------+---------+
| user_id | test_if |
+---------+---------+
| NULL | false |
| 1 | true |
| 2 | false |
+---------+---------+ -
타입 변환
SELECT user_id, IF(user_id = 1, 2, 3.14) AS test_if FROM test_if;+---------+---------+
| user_id | test_if |
+---------+---------+
| NULL | 3.14 |
| 1 | 2.00 |
| 2 | 3.14 |
+---------+---------+두 번째 인수 "2"는 세 번째 인수 "3.14"의 타입(Decimal)으로 변환됩니다.
-
NULL 인수
SELECT user_id, IF(user_id = 1, 2, NULL) AS test_if FROM test_if;+---------+---------+
| user_id | test_if |
+---------+---------+
| NULL | NULL |
| 1 | 2 |
| 2 | NULL |
+---------+---------+