Computer >> Máy Tính >  >> Lập trình >> MySQL

Chuyển đổi MySQL null thành 0?

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)