MySQL NULL là 0

Tóm lược. hướng dẫn này giới thiệu cho bạn chức năng MySQL COALESCE cho phép bạn thay thế các giá trị NULL

Giới thiệu về hàm COALESCE của MySQL

Sau đây minh họa cú pháp hàm

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
3

COALESCE(value1,value2,...);

Code language: SQL (Structured Query Language) (sql)

Hàm

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
3 nhận một số đối số và trả về đối số không NULL đầu tiên. Trong trường hợp tất cả các đối số là NULL, hàm

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
3 trả về NULL

Sau đây là một số ví dụ đơn giản về cách sử dụng hàm 

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
3

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)

Ví dụ về hàm COALESCE của MySQL

Xem bảng

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
3 sau đây trong cơ sở dữ liệu mẫu

MySQL NULL là 0
MySQL NULL là 0

Truy vấn sau trả về tên khách hàng, thành phố, tiểu bang và quốc gia của tất cả khách hàng trong bảng

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
3

SELECT customerName, city, state, country FROM customers;

Code language: SQL (Structured Query Language) (sql)
MySQL NULL là 0
MySQL NULL là 0

Như bạn thấy, cột trạng thái có giá trị NULL vì một số thông tin này không áp dụng cho quốc gia của một số khách hàng.

Để thay thế giá trị NULL trong tập hợp kết quả, bạn có thể sử dụng hàm

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
3 như sau

SELECT customerName, city, COALESCE(state, 'N/A'), country FROM customers;

Code language: SQL (Structured Query Language) (sql)
MySQL NULL là 0
MySQL NULL là 0

Trong ví dụ này, nếu giá trị trong cột trạng thái là NULL, thì hàm

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
3 sẽ thay thế giá trị đó bằng chuỗi

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
7. Ngược lại, nó trả về giá trị của cột trạng thái.

Một ví dụ điển hình khác của việc sử dụng hàm

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
3 là thay thế giá trị trong cột này bằng cột khác khi cột đầu tiên là NULL

Giả sử bạn có một bảng

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
9 với cấu trúc sau

________số 8

Hãy chèn một số dữ liệu vào bảng

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
9

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
0

Hãy tưởng tượng bạn phải hiển thị các bài viết trên một trang tổng quan trong đó mỗi bài viết chứa tiêu đề, chuyên gia và ngày xuất bản (và cả liên kết đọc thêm của trang bài viết). Nhiệm vụ đầu tiên bạn cần làm là truy vấn dữ liệu này từ bảng

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
9

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
2
MySQL NULL là 0
MySQL NULL là 0

Như bạn thấy bài viết có id 2 không có đoạn trích, trình bày không đẹp.

Một giải pháp điển hình là lấy số ký tự đầu tiên trong

SELECT customerName, city, state, country FROM customers;

Code language: SQL (Structured Query Language) (sql)
2 của bài viết để hiển thị dưới dạng đoạn trích. Đây là lý do tại sao hàm

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
3 phát huy tác dụng

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
4
MySQL NULL là 0
MySQL NULL là 0

Trong ví dụ này, nếu giá trị trong cột đoạn trích là NULL, thì hàm

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
3 trả về 150 ký tự đầu tiên của nội dung trong cột

SELECT customerName, city, state, country FROM customers;

Code language: SQL (Structured Query Language) (sql)
2.

MySQL COALESCE và biểu thức CASE

Bên cạnh việc sử dụng hàm

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
3, bạn có thể sử dụng biểu thức

SELECT customerName, city, state, country FROM customers;

Code language: SQL (Structured Query Language) (sql)
7 để đạt được hiệu quả tương tự

Truy vấn sau đây sử dụng biểu thức

SELECT customerName, city, state, country FROM customers;

Code language: SQL (Structured Query Language) (sql)
7 để đạt được kết quả tương tự như ví dụ trên

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
8

Trong ví dụ này, biểu thức

SELECT customerName, city, state, country FROM customers;

Code language: SQL (Structured Query Language) (sql)
7 dài hơn so với sử dụng hàm

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
3

MySQL COALESCE so với. NẾU KHÔNG

Hàm

SELECT customerName, city, COALESCE(state, 'N/A'), country FROM customers;

Code language: SQL (Structured Query Language) (sql)
1 nhận hai đối số và trả về đối số đầu tiên nếu nó không phải là NULL, ngược lại, nó trả về đối số thứ hai

Hàm

SELECT customerName, city, COALESCE(state, 'N/A'), country FROM customers;

Code language: SQL (Structured Query Language) (sql)
1 hoạt động hiệu quả với hai đối số trong khi hàm

SELECT COALESCE(NULL, 0); -- 0 SELECT COALESCE(NULL, NULL); -- NULL;

Code language: SQL (Structured Query Language) (sql)
3 hoạt động với đối số

SELECT customerName, city, COALESCE(state, 'N/A'), country FROM customers;

Code language: SQL (Structured Query Language) (sql)
4. Trong trường hợp số lượng đối số là hai, cả hai chức năng đều giống nhau

Làm cách nào để hiển thị NULL là 0 trong MySQL?

Sử dụng hàm IFNULL hoặc COALESCE() để chuyển MySQL NULL thành 0.

IS NULL được coi là 0 trong SQL?

Trong SQL Server, giá trị NULL cho biết giá trị không khả dụng hoặc chưa được gán. Giá trị NULL không bằng 0 (0) , cũng không bằng khoảng trắng (' '). Vì giá trị NULL không thể bằng hoặc không bằng với bất kỳ giá trị nào nên bạn không thể thực hiện bất kỳ phép so sánh nào trên giá trị này bằng cách sử dụng các toán tử như '=' hoặc '<>'.

Làm cách nào để thay thế giá trị 0 bằng NULL trong SQL?

Hàm NULLIFZERO thay thế các giá trị 0 bằng NULL và có thể được sử dụng để tránh chia cho số 0 hoặc để chặn in số không trong báo cáo i. e.

Làm cách nào để thay thế NULL bằng khoảng trống trong MySQL?

4 cách để thay thế NULL bằng một giá trị khác trong MySQL .
Hàm IFNULL()
Hàm COALESCE()
Hàm IF() kết hợp với toán tử IS NULL (hoặc IS NOT NULL )
Biểu thức CASE kết hợp với toán tử IS NULL (hoặc IS NOT NULL )