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.