-
IF
函数SELECT IF(10>5, '大', '小'); SELECT last_name, commission_pct, IF(commission_pct IS NULL,'没奖金呵呵','有奖金,哈哈') FROM employees;
-
CASE
函数:类似switch-case
case 要判断的字段或者表达式 WHEN 常量1 THEN 要显示的值1或语句1; WHEN 常量2 THEN 要显示的值2或语句2; ... ELSE 要显示的值n或语句n; END
案例:查询员工的工资, 要求部门号=30,显示的工资为1.1倍 都门号=40,显示的工资为1.2倍 都门号=50,显示的工资为1.3倍 其他部门,显示的工资为原工资
SELECT salary 原始工资, department_id, CASE department_id WHEN 30 THEN salary*1.1 WHEN 40 THEN salary*1.2 WHEN 50 THEN salary*1.3 ELSE salary END AS 新工资 FROM employees;
-
case
函数使用二:类似多重if
CASE WHEN 条件1 THEN 要显示的值1或语句1 WHEN 条件2 THEN 要显示的值2或语句2 ... ELSE 要显示的值n或语句n END
案例:查询员工的工资的情况 如果工资>20000,显示A级别 如果工资>15000,显示B级别 如果工资>10000,显示C级别 否则,显示D级别
SELECT salary, CASE WHEN salary>20000 THEN 'A' WHEN salary>15000 THEN 'B' WHEN salary>10000 THEN 'C' ELSE 'D' END AS 工资级别 FROM employees;
MySQL流程控制函数-case结构
最新推荐文章于 2024-01-09 22:58:27 发布