Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 NULL 값을 1로 표시하는 방법

MySQL에서 NULL 값을 1로 표시하기

MySQL 테이블에 저장된 NULL 값을 조회할 때 실제 숫자 대신 1로 표시하고 싶은 경우가 있습니다. 이 글에서는 IFNULL() 함수와 UPDATE 문을 활용해 NULL 값을 1로 변환하는 방법을 단계별로 알아보겠습니다.

1단계: 테이블 생성

먼저 예제에 사용할 테이블을 생성합니다.

mysql> create table DemoTable1963
    (
    Counter int
    );
Query OK, 0 rows affected (0.00 sec)

2단계: 데이터 삽입

INSERT 명령을 사용하여 일부 레코드를 입력합니다. 이때 의도적으로 NULL 값도 함께 넣습니다.

mysql> insert into DemoTable1963 values(20);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1963 values(NULL);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1963 values(99);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1963 values(49);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1963 values(NULL);
Query OK, 1 row affected (0.00 sec)

3단계: 전체 데이터 확인

SELECT 문으로 테이블의 모든 레코드를 조회합니다.

mysql> select * from DemoTable1963;

실행 결과는 다음과 같습니다.

+---------+
| Counter |
+---------+
|      20 |
|    NULL |
|      99 |
|      49 |
|    NULL |
+---------+
5 rows in set (0.00 sec)

현재 테이블에는 두 개의 NULL 값이 존재하는 것을 확인할 수 있습니다.

4단계: NULL 값을 1로 업데이트

이제 IFNULL() 함수와 IS NULL 조건을 조합하여 NULL 값을 1로 변경하는 쿼리를 실행합니다.

mysql> update DemoTable1963 set Counter=IFNULL(Counter,0)+1 where Counter IS NULL;
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2  Changed: 2 Warnings: 0

쿼리 설명:

  • where Counter IS NULL: Counter 컬럼이 NULL인 행만 대상으로 지정합니다.
  • IFNULL(Counter,0)+1: Counter가 NULL이면 0으로 간주한 뒤 1을 더해, 결과적으로 NULL 자리에 1이 저장됩니다.

5단계: 최종 결과 확인

테이블의 레코드를 다시 한번 조회하여 변경 사항을 확인합니다.

mysql> select * from DemoTable1963;

실행 결과는 다음과 같습니다.

+---------+
| Counter |
+---------+
|      20 |
|       1 |
|      99 |
|      49 |
|       1 |
+---------+
5 rows in set (0.00 sec)

참고: 데이터를 유지한 채 조회만 하고 싶다면?

실제 데이터를 수정하지 않고 조회 시에만 NULL을 1처럼 보여주고 싶다면, 테이블을 변경하지 않고 아래와 같이 SELECT 문에서 바로 처리할 수 있습니다.

mysql> select IFNULL(Counter, 1) AS Counter from DemoTable1963;

이 방식은 원본 데이터를 보존하면서 화면에 표시되는 값만 변경하므로, 상황에 따라 더 안전한 선택이 될 수 있습니다.

마무리

MySQL에서 NULL 값을 처리할 때는 IFNULL(), COALESCE(), CASE 문 등 다양한 함수를 활용할 수 있습니다. 위 예제처럼 UPDATE 문과 결합하면 기존 NULL 데이터를 손쉽게 원하는 값으로 일괄 변경할 수 있습니다.