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

MySQL 산술 표현식에서 NULL을 사용하면 결과는 어떻게 될까?

NULL은 '값이 없음'을 의미하며, 숫자 0과는 전혀 다른 개념입니다. MySQL에서는 데이터베이스 컬럼에 어떠한 데이터도 저장되어 있지 않을 때 해당 컬럼의 값을 NULL로 표현합니다.

여기서 중요한 규칙이 하나 있습니다. 바로 산술 연산식에 NULL이 포함되면, 그 연산의 결과도 항상 NULL이 된다는 점입니다. 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산 등 어떤 연산자를 사용하더라도 마찬가지입니다.

예제

다음 예제는 숫자 65와 NULL을 다양한 산술 연산자로 조합한 결과를 보여줍니다.

mysql> Select 65/NULL,65+NULL,65*NULL,65-NULL,65%NULL;
+---------+---------+---------+---------+---------+
| 65/NULL | 65+NULL | 65*NULL | 65-NULL | 65%NULL |
+---------+---------+---------+---------+---------+
|    NULL |    NULL |    NULL |    NULL |    NULL |
+---------+---------+---------+---------+---------+
1 row in set (0.00 sec)

결과 분석

위 실행 결과에서 확인할 수 있듯이, 나눗셈(/), 덧셈(+), 곱셈(*), 뺄셈(-), 나머지(%) 등 모든 산술 연산에서 피연산자 중 하나라도 NULL이 포함되면 최종 결과값 역시 NULL로 반환됩니다.

이러한 동작 방식을 이해하고 있으면 실무에서 데이터를 계산할 때 예상치 못한 NULL 결과를 방지할 수 있습니다. 만약 NULL 값을 다른 값으로 처리하고 싶다면 IFNULL() 또는 COALESCE() 함수를 사용하여 NULL을 대체한 후 연산을 수행하는 것이 좋습니다.