-1

以下语句完美运行

select case when person ="name1" then "nickname1"
when person="name2" then "nickname2" 
else person end as name
from person;

但它因以下语句的 IF ELSE 而失败

select if person ="name1" then "nickname1"
else person end as name
from person;

(IF-THEN-ELSE) 和 (CASE-WHEN-THEN-ELSE-END) 之间有什么区别?还有一个是我们是否有 IF-THEN=-ELSE 的“CASE”语句。

4

3 回答 3

4

不同的是,CASE-IF-ELSE-END不存在。

这不是正确的 SQL。

CASE 语法

CASE case_value
    WHEN when_value THEN statement_list
    [WHEN when_value THEN statement_list] ...
    [ELSE statement_list]
END CASE

或者

CASE
    WHEN search_condition THEN statement_list
    [WHEN search_condition THEN statement_list] ...
    [ELSE statement_list]
END CASE
于 2013-08-29T13:37:12.017 回答
0

MYSQL 中没有 CASE-IF-ELSE-END 。

检查一下控制流功能

于 2013-08-29T13:37:35.460 回答
0

您不要在 MySQL 中将 CASE 与 IF-ELSE 一起使用。

如果别的

案子

于 2013-08-29T13:38:55.713 回答