Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Stored function MySQL xử lý giá trị NULL từ dữ liệu động bảng

Khi stored function nhận giá trị NULL từ bảng, nó trả về NULL làm kết quả.

Bảng Student_marks có NULL ở English của Mohit:

mysql> SELECT * FROM Student_marks;
+-------+------+---------+---------+---------+
| Name  | Math | English | Science | History |
+-------+------+---------+---------+---------+
| Raman | 95   | 89      | 85      | 81      |
| Rahul | 90   | 87      | 86      | 81      |
| Mohit | 90   | NULL    | 86      | 81      |
+-------+------+---------+---------+---------+

Gọi function avg_marks('Mohit'):

mysql> SELECT Avg_marks('Mohit') AS 'MOHIT_marks';
+-------------+
| MOHIT_marks |
+-------------+
| NULL        |
+-------------+

Vì English = NULL → phép tính (M1+M2+M3+M4)/4 có NULL → kết quả NULL. Cần xử lý NULL trước khi tính toán (IFNULL/COALESCE).