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

Đánh máy NULL thành 0 trong MySQL

Bạn có thể gõ NULL thành 0 với sự trợ giúp của hàm IFNULL (). Cú pháp như sau -

select ifnull(yourColumnName) as anyVariableName from yourTableName;

Để hiểu khái niệm trên, trước tiên chúng ta hãy tạo một bảng -

mysql> create table TypecastDemo
   −> (
      −> AccountNumber int
   −> );
Query OK, 0 rows affected (0.84 sec)

Hãy để chúng tôi chèn một số bản ghi với giá trị NULL. Truy vấn để chèn bản ghi như sau -

mysql> insert into TypecastDemo values(NULL);
Query OK, 1 row affected (0.13 sec)

mysql> insert into TypecastDemo values(1234);
Query OK, 1 row affected (0.14 sec)

mysql> insert into TypecastDemo values(9876);
Query OK, 1 row affected (0.14 sec)

mysql> insert into TypecastDemo values(6666);
Query OK, 1 row affected (0.16 sec)

mysql> insert into TypecastDemo values(NULL);
Query OK, 1 row affected (0.27 sec)

mysql> insert into TypecastDemo values(NULL);
Query OK, 1 row affected (0.36 sec)

mysql> insert into TypecastDemo values(3214);
Query OK, 1 row affected (0.34 sec)

Bây giờ bạn có thể hiển thị tất cả các bản ghi với sự trợ giúp của câu lệnh select. Truy vấn như sau -

mysql> select *from TypecastDemo;

Sau đây là kết quả -

+---------------+
| AccountNumber |
+---------------+
|          NULL |
|          1234 |
|          9876 |
|          6666 |
|          NULL |
|          NULL |
|          3214 |
 +---------------+
7 rows in set (0.00 sec)

Áp dụng cú pháp mà chúng ta đã thấy ở trên để nhập NULL thành 0. Truy vấn như sau -

mysql> select ifnull(AccountNumber,0) as TypeCastNullToZero from TypecastDemo;

Sau đây là kết quả -

+--------------------+
| TypeCastNullToZero |
+--------------------+
|                  0 |
|               1234 |
|               9876 |
|               6666 |
|                  0 |
|                  0 |
|               3214 |
+--------------------+
7 rows in set (0.00 sec)

Giả sử bạn muốn có nhiều hơn một cột thì bạn có thể sử dụng COALESCE.