Cách kiểm tra xem điều kiện có phải là null trong mysql không?

MySQL IFNULL() nhận hai biểu thức và nếu biểu thức đầu tiên không phải là NULL, nó sẽ trả về biểu thức đầu tiên. Mặt khác, nó trả về biểu thức thứ hai

Tùy thuộc vào ngữ cảnh mà nó được sử dụng, nó trả về giá trị số hoặc chuỗi

cú pháp

IFNULL(expression1, expression2);

Tranh luận

TênMô tảbiểu thức1Một biểu thức. biểu thức2Một biểu thức

Phiên bản MySQL. 5. 6

Ví dụ. Hàm IFNULL() của MySQL

Câu lệnh MySQL sau đây trả về biểu thức thứ hai, i. e. 2, vì biểu thức đầu tiên là NULL

Điều kiện MySQL IS NULL được sử dụng để kiểm tra xem có giá trị NULL trong biểu thức hay không. Nó được sử dụng với câu lệnh SELECT, INSERT, UPDATE và DELETE

cú pháp

Tham số

sự biểu lộ. Nó chỉ định một giá trị để kiểm tra nếu đó là giá trị NULL

Xem xét một bảng "sĩ quan" có dữ liệu sau

Cách kiểm tra xem điều kiện có phải là null trong mysql không?

Thực hiện truy vấn sau

đầu ra

Cách kiểm tra xem điều kiện có phải là null trong mysql không?

Ghi chú. Ở đây, bạn nhận được kết quả trống vì không có giá trị NULL trong cột Officer_name

Để kiểm tra xem một cột có trống hay không, chúng ta có thể sử dụng mệnh đề where với IS NULL và để trống, chúng ta có thể sử dụng điều kiện ‘ ‘ i. e. khoảng trống. Các bước cần thiết cho việc này như sau. Đầu tiên, một bảng được tạo với sự trợ giúp của lệnh tạo như sau -

mysql> CREATE table ColumnValueNullDemo
-> (
-> ColumnName varchar(100)
-> );
Query OK, 0 rows affected (0.61 sec)

Một giá trị trống được chèn vào bảng bằng lệnh chèn. Điều này được đưa ra dưới đây -

mysql> INSERT into ColumnValueNullDemo values(' ');
Query OK, 1 row affected (0.14 sec)

Sau đó, các bản ghi của bảng được hiển thị bằng lệnh chọn. Điều này được đưa ra như sau -

mysql> SELECT * from ColumnValueNullDemo;

Sau khi thực hiện truy vấn trên, chúng ta sẽ nhận được đầu ra sau -

+-------------------+
| ColumnName        |
+-------------------+
|                   |
+-------------------+
1 row in set (0.00 sec)

Để kiểm tra xem cột có giá trị null hay trống không, cú pháp như sau:

SELECT * FROM yourTableName WHERE yourSpecificColumnName IS NULL OR
yourSpecificColumnName = ' ';

Ràng buộc IS NULL có thể được sử dụng bất cứ khi nào cột trống và ký hiệu ( ‘ ‘) được sử dụng khi có giá trị trống

Nếu một trường trong bảng là tùy chọn, thì có thể chèn bản ghi mới hoặc cập nhật bản ghi mà không cần thêm giá trị vào trường này. Sau đó, trường sẽ được lưu với giá trị NULL

Ghi chú. Giá trị NULL khác với giá trị 0 hoặc trường chứa dấu cách. Trường có giá trị NULL là trường đã bị bỏ trống trong quá trình tạo bản ghi


Làm cách nào để kiểm tra giá trị NULL?

Không thể kiểm tra giá trị NULL bằng các toán tử so sánh, chẳng hạn như =, < hoặc <>

Thay vào đó, chúng ta sẽ phải sử dụng các toán tử IS NULLIS NOT NULL

IS NULL Cú pháp

CHỌN tên_cột
TỪ tên_bảng
Ở ĐÂU cột_name LÀ NULL;

Cú pháp KHÔNG NULL

CHỌN tên_cột
TỪ tên_bảng
Ở ĐÂU tên_cột KHÔNG PHẢI LÀ NULL;


Cơ sở dữ liệu demo

Dưới đây là một lựa chọn từ bảng "Khách hàng" trong cơ sở dữ liệu mẫu của Northwind

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Đức2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222Mexico D. F. 05021Mexico3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D. F. 05023Mexico4Xung quanh Sừng Thomas Hardy120 Hanover Sq. Luân ĐônWA1 1DPUK5Berglunds snbbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Thụy Điển

Trong hướng dẫn này, chúng ta sẽ nghiên cứu các hàm ISNULL()IFNULL() của MySQL. Kiểm tra các giá trị NULL và xử lý chúng trong khi hiển thị kết quả là thao tác cơ sở dữ liệu chính và MySQL ISNULL() và IFNULL() rất quan trọng đối với các thao tác này. Tôi sẽ khuyến khích bạn kiểm tra các tài liệu tham khảo dưới đây

Nói một cách đơn giản, NULL chỉ đơn giản là một trình giữ chỗ cho dữ liệu không tồn tại. Khi thực hiện các thao tác chèn trên bảng, sẽ có lúc một số giá trị trường không khả dụng

Để đáp ứng các yêu cầu của hệ thống quản lý cơ sở dữ liệu quan hệ thực sự, MySQL sử dụng NULL làm trình giữ chỗ cho các giá trị chưa được gửi. Ảnh chụp màn hình bên dưới cho thấy giá trị NULL trông như thế nào trong cơ sở dữ liệu

Cách kiểm tra xem điều kiện có phải là null trong mysql không?

Bây giờ chúng ta hãy xem xét một số khái niệm cơ bản về NULL trước khi chúng ta đi sâu hơn vào cuộc thảo luận

  • NULL không phải là một kiểu dữ liệu – điều này có nghĩa là nó không được nhận dạng là “int”, “date” hoặc bất kỳ kiểu dữ liệu được xác định nào khác
  • Các phép toán số học liên quan đến NULL luôn trả về NULL, ví dụ: 69 + NULL = NULL
  • Tất cả các hàm tổng hợp chỉ ảnh hưởng đến các hàng không có giá trị NULL

Bây giờ hãy chứng minh cách hàm đếm xử lý các giá trị null. Hãy xem nội dung hiện tại của bảng thành viên-

SELECT * FROM `members`;

Thực thi đoạn script trên cho chúng ta kết quả như sau

 membership_ numberfull_ namesgenderdate_of_ birthphysical_ addresspostal_ addresscontact_ numberemail
 1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 [email protected]
 2Janet Smith JonesFemale23-06-1980Melrose [email protected]
 3Robert PhilMale12-07-19893rd Street [email protected]
 4Gloria WilliamsFemale14-02-19842nd Street 23NULLNULLNULL
 5Leonard HofstadterMaleNULLWoodcrestNULL845738767NULL
 6Sheldon CooperMaleNULLWoodcrestNULL976736763NULL
 7Rajesh KoothrappaliMaleNULLWoodcrestNULL938867763NULL
 8Leslie WinkleMale14-02-1984WoodcrestNULL987636553NULL
 9Howard WolowitzMale24-08-1981SouthParkP.O. Box 4563987786553lwolowitz[at]email.me

Hãy đếm tất cả các thành viên đã cập nhật contact_number của họ

________số 8_______

Thực hiện câu truy vấn trên cho ta kết quả như sau

 COUNT(contact_number)
 7

Ghi chú. Các giá trị NULL chưa được đưa vào

Cái gì không?

Toán tử logic NOT được sử dụng để kiểm tra các điều kiện Boolean và trả về true nếu điều kiện sai. Toán tử NOT trả về false nếu điều kiện được kiểm tra là đúng

Điều kiệnNOT Toán tử Kết quả

ĐÚNG VẬY

SAI

SAI

ĐÚNG VẬY

Tại sao sử dụng NOT null?

Sẽ có trường hợp chúng ta phải thực hiện tính toán trên tập kết quả truy vấn và trả về các giá trị. Thực hiện bất kỳ phép toán số học nào trên các cột có giá trị NULL sẽ trả về kết quả null. Để tránh những trường hợp như vậy xảy ra, chúng tôi có thể sử dụng mệnh đề NOT NULL để giới hạn kết quả mà dữ liệu của chúng tôi hoạt động

Giá trị NOT NULL

Giả sử rằng chúng ta muốn tạo một bảng với các trường nhất định luôn được cung cấp các giá trị khi chèn các hàng mới vào bảng. Chúng ta có thể sử dụng mệnh đề NOT NULL trên một trường nhất định khi tạo bảng

Ví dụ hiển thị bên dưới tạo một bảng mới chứa dữ liệu của nhân viên. Mã số nhân viên phải luôn được cung cấp

CREATE TABLE `employees`(
  employee_number int NOT NULL,
  full_names varchar(255) ,
  gender varchar(6)
);

Bây giờ, hãy thử chèn một bản ghi mới mà không chỉ định tên nhân viên và xem điều gì sẽ xảy ra

INSERT INTO `employees` (full_names,gender) VALUES ('Steve Jobs', 'Male');

Việc thực thi tập lệnh trên trong bàn làm việc của MySQL sẽ báo lỗi sau-

Cách kiểm tra xem điều kiện có phải là null trong mysql không?

NULL từ khóa

NULL cũng có thể được sử dụng làm từ khóa khi thực hiện các thao tác Boolean trên các giá trị bao gồm NULL. Từ khóa “IS/NOT” được sử dụng cùng với từ NULL cho các mục đích như vậy. Cú pháp cơ bản khi null được sử dụng làm từ khóa như sau

`comlumn_name'  IS NULL
`comlumn_name' NOT NULL

ĐÂY

  • “IS NULL” là từ khóa thực hiện phép so sánh Boolean. Nó trả về true nếu giá trị được cung cấp là NULL và sai nếu giá trị được cung cấp không phải là NULL
  • “NOT NULL” là từ khóa thực hiện phép so sánh Boolean. Nó trả về true nếu giá trị được cung cấp không phải là NULL và sai nếu giá trị được cung cấp là null

Bây giờ chúng ta hãy xem một ví dụ thực tế sử dụng từ khóa NOT NULL để loại bỏ tất cả các giá trị cột có giá trị null

Tiếp tục với ví dụ trên, giả sử chúng ta cần thông tin chi tiết về các thành viên có số liên lạc không phải là null. Chúng ta có thể thực hiện một truy vấn như

SELECT * FROM `members` WHERE contact_number IS NOT NULL;

Thực hiện truy vấn trên chỉ cung cấp các bản ghi trong đó số liên lạc không phải là null

Giả sử chúng tôi muốn bản ghi thành viên trong đó số liên lạc là null. Chúng ta có thể sử dụng truy vấn sau

SELECT * FROM `members` WHERE contact_number IS NULL;

Thực hiện truy vấn trên cung cấp chi tiết thành viên có số liên lạc là NULL

 membership_ numberfull_namesgenderdate_of_birthphysical_addresspostal_addresscontact_ numberemail
 1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 [email protected]
 3Robert PhilMale12-07-19893rd Street [email protected]
 5Leonard HofstadterMaleNULLWoodcrestNULL845738767NULL
 6Sheldon CooperMaleNULLWoodcrestNULL976736763NULL
 7Rajesh KoothrappaliMaleNULLWoodcrestNULL938867763NULL
 8Leslie WinkleMale14-02-1984WoodcrestNULL987636553NULL
 9Howard WolowitzMale24-08-1981SouthParkP.O. Box 4563987786553lwolowitz[at]email.me

So sánh giá trị null

Logic ba giá trị – thực hiện các phép toán Boolean trong các điều kiện liên quan đến NULL có thể trả về “Không xác định”, “Đúng” hoặc “Sai”

Ví dụ: sử dụng từ khóa “IS NULL” khi thực hiện các thao tác so sánh liên quan đến NULL có thể trả về true hoặc false. Sử dụng các toán tử so sánh khác trả về “Không xác định”(NULL)

Làm cách nào để kiểm tra xem giá trị có phải là NULL trong MySQL không?

Để tìm giá trị NULL, bạn phải sử dụng kiểm tra IS NULL . Các câu lệnh sau đây cho biết cách tìm số điện thoại NULL và số điện thoại trống. mysql> CHỌN * TỪ my_table Ở ĐÂU điện thoại LÀ NULL; . 3.

Làm cách nào để kiểm tra xem một điều kiện có phải là null trong MySQL không?

Đây là ví dụ về cách sử dụng điều kiện IS NOT NULL của MySQL trong câu lệnh SELECT. CHỌN * TỪ danh bạ WHERE last_name KHÔNG NULL; Ví dụ MySQL IS NOT NULL này sẽ trả về tất cả các bản ghi từ bảng danh bạ nơi last_name không chứa null .

Làm cách nào để kiểm tra xem điều kiện có phải là NULL trong SQL không?

Điều kiện IS NULL được sử dụng trong SQL để kiểm tra giá trị NULL. Nó trả về TRUE nếu tìm thấy giá trị NULL, ngược lại trả về FALSE. Nó có thể được sử dụng trong câu lệnh SELECT, INSERT, UPDATE hoặc DELETE

LÀ NULL điều kiện trong MySQL?

Trong MySQL, 0 hoặc NULL có nghĩa là sai và mọi thứ khác có nghĩa là đúng. Giá trị thật mặc định từ phép toán boolean là 1.