SQL中IF和CASE语句

IF表达式

IF(A,B,C):

如果 A 是TRUE (A <> 0 and A<> NULL),则 IF()的返回值为B; 否则返回值则为 C。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。

SELECT IF(sex=1,"男","女") AS s FROM classmates

WHERE sex != '';

CASE WHEN THEN

case具有两种格式。简单case函数和case搜索函数。

--简单case函数
case sex
when '1' then '男'
when '2' then '女’
else '其他' end
--case搜索函数
case when sex = '1' then '男'
when sex = '2' then '女'
else '其他' end

有一张表,里面有3个字段:语文,数学,英语。其中有3条记录分别表示语文70分,数学80分,英语58分,请用一条sql语句查询出这三条记录并按以下条件显示出来(并写出您的思路):

显示格式: 
语文 数学 英语 
及格 优秀 不及格 
------------------------------------------
select
(case when 语文>=80 then '优秀'
when 语文>=60 then '及格'
else '不及格') as 语文,
(case when 数学>=80 then '优秀'
when 数学>=60 then '及格'
else '不及格') as 数学,
(case when 英语>=80 then '优秀'
when 英语>=60 then '及格'
else '不及格') as 英语,
from table

上一篇:NetScaler 10.1的配置以及结合StoreFront的部署


下一篇:发布自己的pods到CocoaPods trunk 及问题记录