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

Kiểm tra xem một trường trống hay rỗng trong MySQL?

Cả hai chuỗi NULL và rỗng ‘’ đều không giống nhau trong MySQL. Để kiểm tra trường trống như ‘’ hoặc là null, bạn cần sử dụng thuộc tính IS NULL hoặc một thứ gì đó khác. Bạn có thể kiểm tra tất cả các điều kiện với câu lệnh CASE. Cú pháp như sau:

 SELECT *, CASEWHEN yourColumnName =’‘ THÌ ‘yourMessage1’WHEN yourColumnName LÀ KHÔNG CÓ ĐẦY ĐỦ THÌ‘ yourMessage2’ELSE CONCAT (yourColumnName, 'is a Name') KẾT THÚC LÀ anyVariableNameFROM yourTableName; 

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau:

 mysql> create table checkFieldDemo -> (-> Id int NOT NULL AUTO_INCREMENT, -> Name varchar (10), -> PRIMARY KEY (Id) ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,64 giây)  

Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau:

 mysql> chèn vào các giá trị checkFieldDemo (Tên) (NULL); Truy vấn OK, 1 hàng bị ảnh hưởng (0,17 giây) mysql> chèn vào các giá trị checkFieldDemo (Tên) ('John'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,15 giây ) mysql> chèn vào giá trị checkFieldDemo (Tên) (NULL); Truy vấn OK, 1 hàng bị ảnh hưởng (0,10 giây) mysql> chèn vào giá trị checkFieldDemo (Tên) (''); Truy vấn OK, 1 hàng bị ảnh hưởng (0,51 giây) mysql> chèn vào các giá trị checkFieldDemo (Tên) ('Carol'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,14 giây) mysql> chèn vào giá trị checkFieldDemo (Tên) (''); Truy vấn OK, 1 hàng bị ảnh hưởng (0,17 giây) mysql> chèn vào giá trị checkFieldDemo (Tên) (NULL); Truy vấn OK, 1 hàng bị ảnh hưởng (0,10 giây) 

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

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

 + ---- + ------- + | Id | Tên | + ---- + ------- + | 1 | NULL || 2 | John || 3 | NULL || 4 | || 5 | Carol || 6 | || 7 | NULL | + ---- + ------- + 7 hàng trong bộ (0,00 giây) 

Đây là truy vấn để kiểm tra trường trống hoặc rỗng hoặc một cái gì đó khác bằng cách sử dụng câu lệnh trường hợp. Truy vấn như sau:

 mysql> select *, case -> khi Tên ='' thì 'Đó là một chuỗi rỗng' -> khi Tên là rỗng thì 'Đó là giá trị NULL' -> else concat (Tên, 'là một Tên' ) -> KẾT THÚC dưới dạng ListOfValues ​​-> từ checkFieldDemo; 

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

 + ---- + ------- + ----------------------- + | Id | Tên | ListOfValues ​​| + ---- + ------- + ----------------------- + | 1 | NULL | Nó là một giá trị NULL || 2 | John | John là một cái tên || 3 | NULL | Nó là một giá trị NULL || 4 | | Nó là một chuỗi rỗng || 5 | Carol | Carol là một cái tên || 6 | | Nó là một chuỗi rỗng || 7 | NULL | Đó là giá trị NULL | + ---- + ------- + ----------------------- + 7 hàng trong bộ (0,00 giây)