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

일치하는 행이 없을 때 MySQL SUM() 함수의 출력을 NULL 대신 0으로 사용자 정의하려면 어떻게 해야 합니까?


SUM() 함수는 일치하는 행이 없으면 NULL을 반환하지만 때로는 NULL 대신 0을 반환하기를 원하는 경우가 있습니다. 이를 위해 두 개의 인수를 받아들이고 첫 번째 인수가 NULL이면 두 번째 인수를 반환하고, 그렇지 않으면 첫 번째 인수를 반환하는 MySQL COALESCE() 함수를 사용할 수 있습니다. 위의 개념을 이해하기 위해 다음 레코드가 있는 'employee_tbl' 테이블을 고려하십시오. −

<미리>mysql> SELECT * FROM employee_tbl;+------+------+------------+------------ ------+| 아이디 | 이름 | 작업 날짜 | Daily_typing_pages |+------+------+------------+-------------------- +| 1 | 존 | 2007-01-24 | 250 || 2 | 램 | 2007-05-27 | 220 || 3 | 잭 | 2007-05-06 | 170 || 3 | 잭 | 2007-04-06 | 100 || 4 | 질 | 2007-04-06 | 220 || 5 | 자라 | 2007-06-06 | 300 || 5 | 자라 | 2007-02-06 | 350 |+------+------+------------+-------------------- +7 행 세트(0.00초)

이제 MySQL SUM() 함수는 'Name' 열에 없는 이름인 'Mohan'이 입력한 총 페이지 수를 찾기 위해 SUM()과 함께 COALESCE 함수를 사용할 때 0을 반환합니다.

mysql> SELECT COALESCE(SUM(daily_typing_pages),0)AS 'SUM(daily_typing_pages)'FROM employee_tbl WHERE Name ='Mohan';+------------------ -------+| SUM(daily_typing_pages) |+-------------------------+| 0 |+-------------------------+1 행 세트(0.00초)