Tôi nhận được NULL
giá trị trong kết quả của một thao tác trong MySQL.Thay thế null bằng 0 trong MySQL
Có cách nào để chuyển đổi giá trị NULL
thành giá trị 0 không?
Tôi nhận được NULL
giá trị trong kết quả của một thao tác trong MySQL.Thay thế null bằng 0 trong MySQL
Có cách nào để chuyển đổi giá trị NULL
thành giá trị 0 không?
Vâng, bằng cách sử dụng COALESCE
.
SELECT COALESCE(null_column, 0) AS null_column FROM whatever;
COALESCE xem qua danh sách giá trị bạn cung cấp và trả về giá trị không null đầu tiên.
Có là COALESCE
phương pháp mà trả lại thông số không null đầu tiên, trong trường hợp của bạn:
COALESCE(field, 0)
Nhưng bạn có thể sử dụng điều này nếu bạn muốn biết thêm:
COALESCE(field1, field2, 0)
MySQL:
SELECT COALESCE(Mycolumn, 0);
tôi thêm câu trả lời này vì không ai đề cập IFNULL
chức năng
Bạn có thể sử dụng IFNULL
SELECT IFNULL(column_name, 0) FROM table_name;
IFNULL
sẽ trở lại giá trị cột (nếu nó có một thứ khác không phải là NULL
) nếu không tham số thứ hai đã qua (trong trường hợp này là 0
).
Cảm ơn, chạy hoàn hảo trong mysql. – iarroyo
+1: 'COALESCE' là ANSI, được hỗ trợ bởi SQL Server 2000+, Oracle 9i +, MySQL 4.1+, dunno phiên bản của PostgreSQL hoặc SQLite ... –
MySQL được đề cập trong tiêu đề. Tôi đã thêm một thẻ cho nó. – RedFilter
Tôi nghĩ rằng mỗi 3VL DB với một giao diện SQL hỗ trợ 'coalesce()'. Trường hợp và điểm, [đó là trong MySQL 3.23] (http://www.norrnod.se/norrnod/dokumentation/mysql/3.23.45/manual_toc.html#Comparison_Operators) mà là gần như dưới cùng của thùng như bạn có thể làm được. –