IFNULL() 메서드를 사용하여 MySQL에서 NULL에 대해 0을 반환할 수 있습니다. IFNULL()의 구문은 다음과 같습니다.
IFNULL(YOUREXPRESSION,0);
예를 들어 보겠습니다. 먼저 테이블을 생성하겠습니다.
mysql> create table NullDemoWithZero -> ( -> id varchar(200) -> ); Query OK, 0 rows affected (0.65 sec)
테이블을 생성한 후 INSERT 명령을 사용하여 테이블에 일부 레코드를 삽입해 보겠습니다. 쿼리는 다음과 같습니다 -
mysql> insert into NullDemoWithZero values(); Query OK, 1 row affected (0.16 sec) mysql> insert into NullDemoWithZero values('123'); Query OK, 1 row affected (0.14 sec) mysql> insert into NullDemoWithZero values('442'); Query OK, 1 row affected (0.10 sec) mysql> insert into NullDemoWithZero values('333'); Query OK, 1 row affected (0.13 sec) mysql> insert into NullDemoWithZero values(); Query OK, 1 row affected (0.15 sec) mysql> mysql> insert into NullDemoWithZero values(); Query OK, 1 row affected (0.17 sec)
SELECT 문을 사용하여 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다.
mysql> select *from NullDemoWithZero;
다음은 출력입니다.
+------+ | id | +------+ | NULL | | 123 | | 442 | | 333 | | NULL | | NULL | +------+ 6 rows in set (0.00 sec)
위의 샘플 출력을 보면 많은 NULL 값이 있습니다. 이제 테이블에 NULL 값이 있으면 0을 반환하는 구문을 작성하겠습니다. 다음은 구문입니다.
select IFNULL(yourColumnName, 0) from yourTableName;
행에 NULL 값이 있는 경우 위의 구문을 적용하여 0을 얻습니다. 쿼리는 다음과 같습니다.
mysql> select IFNULL(id, 0) from NullDemoWithZero;
다음은 모든 NULL에 대해 0을 반환하는 출력입니다.
+---------------+ | IFNULL(id, 0) | +---------------+ | 0 | | 123 | | 442 | | 333 | | 0 | | 0 | +---------------+ 6 rows in set (0.00 sec)