Sử dụng hàm IFNULL hoặc COALESCE () để chuyển đổi MySQL NULL thành 0.
Cú pháp như sau
SELECT IFNULL(yourColumnName,0) AS anyAliasName FROM yourTableName; The second syntax is as follows: SELECT COALESCE(yourColumnName,0) AS anyAliasName FROM yourTableName;
Đầu tiên chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau
mysql> create table convertNullToZeroDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(20), -> Salary int -> ); Query OK, 0 rows affected (1.28 sec)
Chèn một số bản ghi vào bảng bằng lệnh chèn.
Truy vấn như sau
mysql> insert into convertNullToZeroDemo(Name,Salary) values('John',NULL); Query OK, 1 row affected (0.20 sec) mysql> insert into convertNullToZeroDemo(Name,Salary) values('Carol',5610); Query OK, 1 row affected (0.10 sec) mysql> insert into convertNullToZeroDemo(Name,Salary) values('Bob',NULL); Query OK, 1 row affected (0.15 sec) mysql> insert into convertNullToZeroDemo(Name,Salary) values('David',NULL); Query OK, 1 row affected (0.12 sec)
Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select.
Truy vấn như sau
mysql> select *from convertNullToZeroDemo;
Sau đây là kết quả
+----+-------+--------+ | Id | Name | Salary | +----+-------+--------+ | 1 | John | NULL | | 2 | Carol | 5610 | | 3 | Bob | NULL | | 4 | David | NULL | +----+-------+--------+ 4 rows in set (0.05 sec)
Đây là truy vấn đầu tiên của bạn để chuyển đổi MySQL NULL thành 0
mysql> select IFNULL(Salary,0) as `CONVERT_NULL _TO_0` from convertNullToZeroDemo;
Sau đây là kết quả
+--------------------+ | CONVERT_NULL _TO_0 | +--------------------+ | 0 | | 5610 | | 0 | | 0 | +--------------------+ 4 rows in set (0.05 sec)
Đây là truy vấn thứ hai của bạn để chuyển đổi MySQL NULL thành 0
mysql> select coalesce(Salary,0) as `CONVERT_NULL _TO_0` from convertNullToZeroDemo;
Sau đây là kết quả
+--------------------+ | CONVERT_NULL _TO_0 | +--------------------+ | 0 | | 5610 | | 0 | | 0 | +--------------------+ 4 rows in set (0.00 sec)