Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에서 NULL에 대해 0을 어떻게 반환합니까?

<시간/>

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)