IF-ELSE和当时MySql中的语句差异

时间:2013-08-29 13:34:49

标签: mysql sql

以下声明完美无缺

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”声明。

3 个答案:

答案 0 :(得分:4)

区别在于CASE-IF-ELSE-END不存在。

这不是正确的SQL。

来自CASE Syntax

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

OR

CASE
    WHEN search_condition THEN statement_list
    [WHEN search_condition THEN statement_list] ...
    [ELSE statement_list]
END CASE

答案 1 :(得分:0)

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

请查看Control Flow Functions

答案 2 :(得分:0)

在MySQL中不使用CASE和IF-ELSE。

IF-ELSE

CASE