你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

MySQL IF CASE

2022/8/14 22:43:30

IF函数

语法

如果 expr1 是TRUE,则 IF()的返回值为expr2; 否则返回值则为 expr3。

IF(expr1,expr2,expr3)

样例

-- 简单
SELECT 
  IF(t.gender = 0, '男', '女') SEX
FROM
  t_user t ;

-- 复杂
 SELECT 
  IF(t.gender = 0,
    (SELECT NAME FROM gender WHERE CODE = t.gender),
    IF(t.gender = 1, '女', '保密')
  ) SEX 
FROM
  t_user t ; 

IfNULL

语法

假如expr1 为 NULL,则 IFNULL() 的返回值为 expr2; 否则其返回值为 expr1。

IFNULL(expr1,expr2)

例子

SELECT 
  IFNULL(gender, '3') 
FROM
  t_user ;

CASE WHEN

语法1

CASE expression
  WHEN value1 THEN returnvalue1
  WHEN value2 THEN returnvalue2
  WHEN value3 THEN returnvalue3
  ……
  ELSE defaultreturnvalue
END

例子

SELECT 
  (CASE t.gender 
      WHEN 0 THEN '男' 
      WHEN 1 THEN '女' 
      ELSE '保密'
    END
  ) SEX
FROM
  t_user t ;

语法2

CASE
  WHEN condition1 THEN returnvalue1
  WHEN condition2 THEN returnvalue2
  WHEN condition3 THEN returnvalue3
  ……
  ELSE defaultreturnvalue
END

例子

SELECT 
  (CASE
      WHEN t.gender = 0 THEN '男' 
      WHEN t.gender = 1 THEN '女' 
      ELSE '保密'
    END
  ) SEX
FROM
  t_user t ;