mysql嵌套的IF语句

时间:2013-11-15 18:09:41

标签: mysql sql

我在sql select语法中有这个条件:

IF(u.sex = "M", "Male", "Female") AS sex

问题是,即使值为null,也会返回女性。

我如何创建逻辑,如果NULL什么也不做,否则嵌套,如果我已经有。

这样的东西
IF(u.sex IS NULL, NULL, IF(u.sex = "M", "Male", "Female")) AS sex

2 个答案:

答案 0 :(得分:2)

我会使用精选案例。

SELECT CASE u.sex WHEN 'M' THEN 'Male'
WHEN 'F' THEN 'Female' ELSE 'Neither' END

那应该解决它。

答案 1 :(得分:0)

或使用case

case when u.sex = 'M' then 'Male'
     when u.sex = 'F' then 'Female'
     else NULL
end AS sex