SELECT*FROMemployee_tbl;+------+------+------------ -- +---------+|ID"/> SELECT*FROMemployee_tbl;+------+------+------------ -- +---------+|ID">
일치하는 행이 없으면 SUM() 함수가 NULL을 반환한다는 것을 알고 있지만 때로는 NULL 대신 0을 반환하기를 원할 때도 있습니다. 이를 위해 MySQL COALESCE() 함수를 사용할 수 있습니다. 이 함수는 두 개의 매개변수를 허용하고 첫 번째 매개변수가 NULL이면 두 번째 매개변수를 반환하고, 그렇지 않으면 첫 번째 매개변수를 반환합니다. 위 개념을 이해하기 위해 다음과 같은 레코드가 있는 "employee_tbl" 테이블을 생각해 보십시오. -
mysql> SELECT * FROM employee_tbl; +------+------+------------+--------------------+ | id | name | work_date | daily_typing_pages | +------+------+------------+--------------------+ | 1 | John | 2007-01-24 | 250 | | 2 | Ram | 2007-05-27 | 220 | | 3 | Jack | 2007-05-06 | 170 | | 3 | Jack | 2007-04-06 | 100 | | 4 | Jill | 2007-04-06 | 220 | | 5 | Zara | 2007-06-06 | 300 | | 5 | Zara | 2007-02-06 | 350 | +------+------+------------+--------------------+ 7 rows in set (0.00 sec)
이제 SUM() 함수와 함께 COALESCE 함수를 사용하여 "Mohan"이 입력한 전체 페이지 수를 구하면 MySQL SUM() 함수는 0을 반환하고 "Mohan"이라는 이름이 "Name" 열에 없습니다 −
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 row in set (0.00 sec)
위 내용은 일치하는 행이 없을 때 MySQL SUM() 함수의 출력을 NULL 대신 0으로 사용자 정의하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!