如何在 mysql 查询中编写一个 case 来检查特定列的 null 或 0
CREATE TABLE tblConfirmationStatus (Confirm_Status TINY INT) INSERT INTO tblConfirmationStatus Confirm_Status VALUES (1), (0), (1), ({null}), (0), (1), ({null})
需要的输出
确认状态
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;
最佳答案
CASE 语句有两种选择 - 您发布的一种,或者:
SELECT CASE
WHEN Confirm_Status IS NULL OR Confirm_Status = 0 THEN 'Not Confirmed'
ELSE 'Confirmed'
END AS ConfirmStatus
但你可能会使用:
SELECT CASE
WHEN Confirm_Status > 0 THEN 'Confirmed'
ELSE 'Not Confirmed'
END AS ConfirmStatus
NULL
是没有值,因此检查零以上的值应该与零属于同一类别。
关于php - 带有或条件的Mysql案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11715607/