MySQL CASE 语句是一种流程控制功能,允许我们在查询中构建条件,例如 SELECT 或 WHERE 子句。我们有两种 CASE 语句语法
CASE val WHEN compare_val1 THEN result1 WHEN compare_val2 THEN result2 . . . Else result END
在第一个语法中,如果 val 等于 compare_val1,则 CASE 语句返回 result1。如果 val 等于 compare_val2,则 CASE 语句返回 result2,依此类推。
如果 val 与任何compare_val 都不匹配,则CASE 语句返回 ELSE 子句中指定的结果。
mysql> Select CASE 100 -> WHEN 100 THEN 'It is matched' -> WHEN 200 THEN 'It is not matched' -> ELSE 'No use of this Number' -> END as 'Matching the Number'; +---------------------+ | Matching the Number | +---------------------+ | It is matched | +---------------------+ 1 row in set (0.06 sec)
CASE WHEN condition_1 THEN result1 WHEN condition_2 THEN result2 . . . Else result END
在第二种语法中,CASE 语句返回结果 1、结果 2 等。如果条件为真。如果所有条件均不成立,CASE 语句将返回 ELSE 子句中指定的结果。
mysql> Select CASE -> WHEN (100 = 100) THEN 'It is Matched' -> WHEN (200 = 100) Then 'It is Not Matched' -> Else 'No use of Number' -> END as 'Matching the Number'; +---------------------+ | Matching the Number | +---------------------+ | It is Matched | +---------------------+ 1 row in set (0.00 sec)
以上是MYSQL控制流函数CASE是如何工作的?的详细内容。更多信息请关注PHP中文网其他相关文章!