SQL中的条件语句IF-THEN-ELSE

本篇文章讲述SQL条件语句IF-THEN-ELSE语句,以供参考,如有错误或不当之处还望大神们告知。

数据说明

用户表T_USER结构如下:

字段 类型 长度 主键 为空
id number 6
姓名 char 20
年龄 number 2
性别 char 2
日期 date -
分数 float -

初始数据

这里写图片描述

CASE表达方式

CASE表达式适合范围查找

  • 计算T_USER中的成绩 t_score 如果 >= 85 显示‘优秀’ ; score>=60 且 score<85 显示‘及格’;score<60 则显示‘不及格’ 。
select u_id , u_name , u_score ,case when u_score >= 65.45 then '优秀'
                                     when u_score >=60 and u_score<85 then '及格'
                                     when u_score <60 then '不及格'
                                     else '数据错误'
end 
from T_USER ;

计算结果:
这里写图片描述

DECODE函数

DECODE函数适合多值等值查询。

  • 查询T_USER中的成绩 t_score 中成绩为65.45,95.24,73.24的记录显示为‘查’否则显示不查。
select u_id , u_name , u_score , decode(u_score,
       65.45, '查',
       95.24, '查',
       73.24, '查',
  '不查'
) 
from T_USER ;

运行结果:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/u013634252/article/details/80582236