Php Mysql案例,带有或条件
如何在mysql查询中编写一个案例来检查特定列的null或0 CREATE TABLE tblConfirmationStatus (Confirm_Status TINY INT) INSERT INTO tblConfirmationStatus Confirm_Status VALUES (1), (0), (1), ({null}), (0), (1), ({null}) 创建表TBLConfimationStatus(确认状态) 插入TBL确认状态 确认您的状态 价值观 (1), (0), (1), ({null}), (0), (1), ({null}) 所需输出 确认状态 Confirmed Not Confirmed Confirmed Not Confirmed Not Confirmed Confirmed Not Confirmed 证实 未确认 证实 未确认 未确认 证实 未确认 0或空-未确认,1-确认 SELECT CASE Confirm_Status WHEN NULL OR 0 THEN 'Not Confirmed' ELSE 'Confirmed' END AS ConfirmStatus FROM tblConfirmationStatus; 选择案例确认状态 当为NULL或0时,则为“未确认” 否则“已确认”结束为ConfirmStatus 来自TBL确认状态;Php Mysql案例,带有或条件,php,mysql,sql,Php,Mysql,Sql,如何在mysql查询中编写一个案例来检查特定列的null或0 CREATE TABLE tblConfirmationStatus (Confirm_Status TINY INT) INSERT INTO tblConfirmationStatus Confirm_Status VALUES (1), (0), (1), ({null}), (0), (1), ({null}) 创建表TBLConfimationStatus(确认状态) 插入TBL确认状态 确认您的状态 价值观 (1),
你有没有看过使用操作符 IFNULL(expr1、expr2) 如果expr1不为NULL,则IFNULL()返回expr1;否则它将返回 expr2。IFNULL()返回数值或字符串值,具体取决于 使用它的上下文
案例陈述有两个选项-您发布的选项,或:
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
表示没有值,因此检查大于零的值应与检查零属于同一类别。NULL具有高度传染性,可将任何正常的布尔/比较操作转换为更多的NULL。case语句是编写if(confirm_status=null)的好方法。您需要ISNULL()
来正确处理它。
SELECT IF((Confirm_Status IS NULL OR Confirm_Status = 0),
'Not Confirmed', 'Confirmed') AS ConfirmStatus
FROM tblConfirmationStatus;