MySQL 如何使用OR条件实现MySQL CASE

MySQL 如何使用OR条件实现MySQL CASE

以下是MySQL CASE OR条件的语法

    <SELECT yourColumnName1,.....N ,  

        CASE WHEN yourColumnName2=0 or yourColumnName2IS NULL THEN 'yourMessage1'  

    ELSE 'yourMessage2'  

    END AS yourAliasName  

    FROM yourTableName>;

为了理解上述语法,让我们创建一个表。创建表的查询语句如下:

    mysql> create table ReservationSystems  

    -> (  

    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,  

    -> Name varchar(20),  

    -> isSeatConfirmed tinyint  

    -> );  

查询 OK,0行受影响(0.61 秒)

使用insert命令将一些记录插入表中。

查询如下

    mysql> insert into ReservationSystems(Name,isSeatConfirmed) values('Larry',0);  

查询 OK,1行受影响(0.12 秒)  

mysql> insert into ReservationSystems(Name,isSeatConfirmed) values('Bob',1);  

查询 OK,1行受影响(0.15 秒)  

mysql> insert into ReservationSystems(Name,isSeatConfirmed) values('Mike',NULL);  

查询 OK,1行受影响(0.14 秒)  

mysql> insert into ReservationSystems(Name,isSeatConfirmed) values('David',1);  

查询 OK,1行受影响(0.17 秒)  

mysql> insert into ReservationSystems(Name,isSeatConfirmed) values('Carol',0);  

查询 OK,1行受影响(0.19 秒)  

mysql> insert into ReservationSystems(Name,isSeatConfirmed) values('James',1);  

查询 OK,1行受影响(0.11 秒)

使用select语句显示表中的所有记录。

查询如下

    mysql> select *from ReservationSystems;

结果如下

+----+-------+-----------------+  

| Id | Name  | isSeatConfirmed |  

+----+-------+-----------------+  

|  1 | Larry |               0 |  

|  2 | Bob   |               1 |  

|  3 | Mike  |            NULL |  

|  4 | David |               1 |  

|  5 | Carol |               0 |  

|  6 | James |               1 |  

+----+-------+-----------------+  

6 rows in set (0.00 sec)

以下是具有OR条件的MySQL CASE

    mysql> select Name,  

    -> CASE WHEN isSeatConfirmed=0 or isSeatConfirmed IS NULL THEN 'YOUR SEAT IS NOT CONFIRMED'  

    -> ELSE 'YOUR SEAT IS CONFIRMED'  

    -> END AS SEATCONFIRMSTATUS  

    -> FROM ReservationSystems;

结果如下

+-------+----------------------------+  

| Name  | SEATCONFIRMSTATUS          |  

+-------+----------------------------+  

| Larry | YOUR SEAT IS NOT CONFIRMED |  

| Bob   | YOUR SEAT IS CONFIRMED     |  

| Mike  | YOUR SEAT IS NOT CONFIRMED |  

| David | YOUR SEAT IS CONFIRMED     |  

| Carol | YOUR SEAT IS NOT CONFIRMED |  

| James | YOUR SEAT ISCONFIRMED     |
+-------+----------------------------+
6 rows in set (0.00 sec)

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程