Làm thế nào để viết một trường hợp trong truy vấn mysql mà kiểm tra cho null hoặc 0 cho một cột cụ thểMysql Case với Hoặc tình trạng
CREATE TABLE tblConfirmationStatus (Confirm_Status TINY INT) INSERT INTO tblConfirmationStatus Confirm_Status VALUES (1), (0), (1), ({null}), (0), (1), ({null})
Output buộc
ConfirmStatus
Confirmed Not Confirmed Confirmed Not Confirmed Not Confirmed Confirmed Not Confirmed
0 hoặc Null - Chưa được xác nhận, 1-Confirmed
SELECT CASE Confirm_Status WHEN NULL OR 0 THEN 'Not Confirmed' ELSE 'Confirmed' END AS ConfirmStatus FROM tblConfirmationStatus;
NULL rất dễ lây và chuyển đổi bất kỳ hoạt động boolean/so sánh bình thường nào thành NULLs. Một câu lệnh case chỉ đơn giản là cách viết hay 'if (confirm_status = null) ...'. Bạn cần 'ISNULL()' để xử lý đúng. –