如何在mysql查询中编写一个案例,该案例检查特定列的null或0
CREATE TABLE tblConfirmationStatus (Confirm_Status TINY INT)
INSERT INTO tblConfirmationStatus
Confirm_Status
VALUES
(1),
(0),
(1),
({null}),
(0),
(1),
({null})
要求的输出
ConfirmStatus
Confirmed Not Confirmed Confirmed Not Confirmed Not Confirmed Confirmed Not Confirmed
0或Null - 未确认,1 - 确认
SELECT CASE Confirm_Status
WHEN NULL OR 0 THEN 'Not Confirmed'
ELSE 'Confirmed' END AS ConfirmStatus
FROM tblConfirmationStatus;
OMG*_*ies 24
CASE语句有两种选择 - 您发布的语句或:
SELECT CASE
WHEN Confirm_Status IS NULL OR Confirm_Status = 0 THEN 'Not Confirmed'
ELSE 'Confirmed'
END AS ConfirmStatus
Run Code Online (Sandbox Code Playgroud)
但你可以使用:
SELECT CASE
WHEN Confirm_Status > 0 THEN 'Confirmed'
ELSE 'Not Confirmed'
END AS ConfirmStatus
Run Code Online (Sandbox Code Playgroud)
NULL 如果没有值,那么检查大于零的值应该归入与零相同的类别.
SELECT IF((Confirm_Status IS NULL OR Confirm_Status = 0),
'Not Confirmed', 'Confirmed') AS ConfirmStatus
FROM tblConfirmationStatus;
Run Code Online (Sandbox Code Playgroud)