- 카테고리:
 
IFNULL¶
expr1 이 NULL인 경우 expr2 를 반환하고, 그렇지 않으면 expr1 을 반환합니다.
- 별칭:
 
구문¶
IFNULL( <expr1> , <expr2> )
인자¶
expr1일반적인 식입니다.
expr2일반적인 식입니다.
사용법 노트¶
가능하면 같은 유형의 인자를 전달하십시오. 다른 유형의 인자는 전달하지 않도록 하십시오.
인자 중 하나가 숫자인 경우 이 함수는 숫자가 아닌 문자열 인자(예:
'a string')와 상수가 아닌 문자열 인자를 NUMBER(18,5) 형식으로 강제 변환 합니다.상수가 아닌 숫자형 문자열 인자의 경우 NUMBER(18,5)가 숫자 값을 나타내기에 충분하지 않으면 해당 값을 나타낼 수 있는 형식으로 인자를 형 변환 해야 합니다.
두 식 모두
UNION,INTERSECT,EXCEPT,MINUS같은 세트 연산자가 있는SELECT문을 포함할 수 있습니다. 세트 연산자를 사용할 때 데이터 타입이 호환되는지 확인하십시오. 자세한 내용은 세트 연산자 항목의 일반적인 사용법 노트 를 참조하십시오.
데이터 정렬 세부 정보¶
The collation specifications of all input arguments must be compatible.
The collation of the result of the function is the highest-precedence collation of the inputs.
반환¶
반환 식의 데이터 타입을 반환합니다.
두 식이 모두 NULL인 경우에는 NULL을 반환합니다.
예¶
공급자의 연락처 정보가 포함된 테이블을 만듭니다.
CREATE TABLE IF NOT EXISTS suppliers (
  supplier_id INT PRIMARY KEY,
  supplier_name VARCHAR(30),
  phone_region_1 VARCHAR(15),
  phone_region_2 VARCHAR(15));
테이블에는 서로 다른 두 리전의 각 공급자에 대한 전화번호가 포함됩니다. 전화번호는 리전에 따라 NULL일 수 있습니다.
테이블에 값을 삽입합니다.
INSERT INTO suppliers(supplier_id, supplier_name, phone_region_1, phone_region_2)
  VALUES(1, 'Company_ABC', NULL, '555-01111'),
        (2, 'Company_DEF', '555-01222', NULL),
        (3, 'Company_HIJ', '555-01333', '555-01444'),
        (4, 'Company_KLM', NULL, NULL);
다음 SELECT 문은 IFNULL 함수를 사용하여 phone_region_1 및 phone_region_2 값을 검색합니다.
이 예에서는 IFNULL 함수에 대해 다음 결과를 보여줍니다.
IF_REGION_1_NULL열에는phone_region_1의 값이 포함되거나 해당 값이 NULL인 경우phone_region_2의 값이 포함됩니다.IF_REGION_2_NULL열에는phone_region_2의 값이 포함되거나 해당 값이 NULL인 경우phone_region_1의 값이 포함됩니다.phone_region_1및phone_region_2가 모두 NULL인 경우 함수는 NULL을 반환합니다.
SELECT supplier_id,
       supplier_name,
       phone_region_1,
       phone_region_2,
       IFNULL(phone_region_1, phone_region_2) IF_REGION_1_NULL,
       IFNULL(phone_region_2, phone_region_1) IF_REGION_2_NULL
  FROM suppliers
  ORDER BY supplier_id;
+-------------+---------------+----------------+----------------+------------------+------------------+
| SUPPLIER_ID | SUPPLIER_NAME | PHONE_REGION_1 | PHONE_REGION_2 | IF_REGION_1_NULL | IF_REGION_2_NULL |
|-------------+---------------+----------------+----------------+------------------+------------------|
|           1 | Company_ABC   | NULL           | 555-01111      | 555-01111        | 555-01111        |
|           2 | Company_DEF   | 555-01222      | NULL           | 555-01222        | 555-01222        |
|           3 | Company_HIJ   | 555-01333      | 555-01444      | 555-01333        | 555-01444        |
|           4 | Company_KLM   | NULL           | NULL           | NULL             | NULL             |
+-------------+---------------+----------------+----------------+------------------+------------------+