php - 带有或条件的Mysql案例

标签 php mysql sql

如何在 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/

相关文章:

php - 在 PHP 中从 Json 中提取关键元素

php - 如何从使用 php echo 进行显示的 html 表中在 mysql 中插入多行

MySql 查询查找给定日期 'From' 和 'to' 可用的房间

mysql - 如果表名存储为变量,如何删除 mysql 表?

sql - Informix 组(按别名)

php - 捕获致命异常并继续

php - 如何在不同的表列中获取另一个表数据?

sql - 具有 "version"字段的乐观锁与快照隔离级别

当搜索字符串中存在任何干扰词时,SQL 全文搜索不会返回结果

php - 跨平台谷歌 OAuth 登录 : redirect_uri mismatch