MySQL中CASE的使用

2021-09-06 19:29:14 字數 1430 閱讀 8499

語法說明:

方式一:

case value when [compare_value] then result [when [compare_value] then result ...] [else result] end 

方式二:

case when [condition] then result [when [condition] then result ...] [else result] end 

使用演示樣例:

mysql> select id,name, (gender) as '性別' from t_user;

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

| id | name       | 性別 |

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

| 19 | 張三       | 1    |

| 20 | 小紅       | 2    |

| 21 | 超級管理員 |      |

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

3 rows in set (0.00 sec)

mysql> select id,name, (case gender when 1 then '男' when 2 then '女' else '其它' end) as '性別' from t_user;

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

| id | name       | 性別 |

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

| 19 | 張三       | 男   |

| 20 | 小紅       | 女   |

| 21 | 超級管理員 | 其它 |

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

3 rows in set (0.00 sec)

mysql> select id,name, (case when gender=1 then '男' when gender=2 then '女' else '其它' end) as '性別' from t_user;

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

| id | name       | 性別 |

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

| 19 | 張三       | 男   |

| 20 | 小紅       | 女   |

| 21 | 超級管理員 | 其它 |

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

3 rows in set (0.00 sec)

應用常景:

eg:在論壇中,不同型別的貼子的type不一樣,置頂貼是一直置頂的,而精華貼和普通貼在排序上是一樣的,此時就能使用mysql的case,使在排序時精華貼和普通貼的type是一樣的。

Mysql中 Case的使用方法

mysql中,case有2中使用方法,分別如下所示 case value when compare value then result when compare value then result else result end case when condition then result whe...

Mysql 條件判斷Case 使用

select substr t1.area id,1,1 type,substr t1.area id,2 id,case substr t1.area id,1,1 when c then select t2.country from countnumber.dbtable countryid t...

erlang 中case語句的使用

在erlang中,至少有三種可互換的流程控制方式 函式宣告上的pattern match,case語句,if語句 這裡講將case語句和函式宣告上的pattern match的區別。case語句的格式如下 case conditional expression of pattern1 express...