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

Làm thế nào để kiểm tra xem trường là null hay trống trong MySQL?

Để kiểm tra xem một trường trống hay rỗng trong MySQL, hãy sử dụng hàm IF () trong MySQL. Cú pháp như sau -

SELECT IF(yourColumnName IS NULL or yourColumnName = '', 'NULLId', yourColumnName) as anyVariableName from yourTableName;

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Sau đây là truy vấn để tạo bảng -

mysql> create table NullAndEmptyDemo
-1> (
-> Id varchar(200)
-> );
Query OK, 0 rows affected (0.66 sec)

Bây giờ chúng ta hãy chèn các bản ghi vào bảng với sự trợ giúp của lệnh insert. Truy vấn để chèn bản ghi trong bảng như sau. Chúng tôi cũng đã thêm các giá trị rỗng và rỗng -

mysql> insert into NullAndEmptyDemo values(NULL);
Query OK, 1 row affected (0.22 sec)
mysql> insert into NullAndEmptyDemo values('Smith123');
Query OK, 1 row affected (0.17 sec)
mysql> insert into NullAndEmptyDemo values(' ');
Query OK, 1 row affected (0.35 sec)
mysql> insert into NullAndEmptyDemo values('98765');
Query OK, 1 row affected (0.15 sec)
mysql> insert into NullAndEmptyDemo values(NULL);
Query OK, 1 row affected (0.10 sec)
mysql> insert into NullAndEmptyDemo values('Carol567');
Query OK, 1 row affected (0.14 sec)
mysql> insert into NullAndEmptyDemo values('');
Query OK, 1 row affected (0.13 sec)

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 NullAndEmptyDemo;

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

+----------+
| Id       |
+----------+
| NULL     |
| Smith123 |
|          |
| 98765    |
| NULL     |
| Carol567 |
|          |
+----------+
7 rows in set (0.00 sec)

Bây giờ bạn có thể áp dụng cú pháp trên mà chúng ta đã thảo luận ở phần đầu để kiểm tra xem trường là null hay rỗng. Truy vấn như sau -

mysql> SELECT IF(Id IS NULL or Id = '', 'NULLId', Id) as UpdatedColumnValue from NullAndEmptyDemo;

Sau đây là đầu ra thay thế các giá trị, nếu NULL hoặc trống (“”) được tìm thấy lúc đầu -

+--------------------+
| UpdatedColumnValue |
+--------------------+
| NULLId             |
| Smith123           |
| NULLId             |
| 98765              |
| NULLId             |
| Carol567           |
| NULLId             |
+--------------------+
7 rows in set (0.00 sec)