其他函数 、 case 语句

1. 聚合函数
max() , min() , avg() , sum() , count ()

2. if( bool表达式 , expr1 , expr2 )
如果 bool表达式 成立 (true) , 就返回 expr1 。 否则 如果 bool表达式 不成立 (false) , 就返回 expr2 。

类似于 java 语言中的 问号表达式 ( ? : )

select sid,cid, if(mark>=60,’及格’,’不及格’) as ‘成绩’ from score

3. ifnull ( expr1 , expr2 )
如果 expr1 不为null 就返回 expr1 自己。 否则 如果 expr1 为null , 就返回 expr2 。

select * from score;

update score set mark=null where sid=2001002 and cid=’01’

alter table score
modify mark decimal(8,2)

select ifnull(mark,0) from score

5. isnull ( exp )
判断 表达式(或者列名) exp 是否为null 。 如果 为null ,就返回 1 (表示 : true) , 否则返回 0 (表示:false )

select * from score where mark is null

select * from score where isnull(mark)

6. case 语句
(1) 语法1 : 类似于 java 语言中的 switch

case 表达式exp
when 比较值1 then ‘选择的结果1’
when 比较值2 then ‘选择的结果2’
when 比较值3 then ‘选择的结果3’
when 比较值4 then ‘选择的结果4’
else ‘选择的结果5’
end

select

case cid
when ’01’ then ‘语文’
when ’02’ then ‘数学’
else ‘出错’
end

from score

(2) 语法2 : 类似于 java 语言中的 if

case
when bool表达式1 then ‘选择的结果1’
when bool表达式2 then ‘选择的结果2’
when bool表达式3 then ‘选择的结果3’
when bool表达式4 then ‘选择的结果4’
else ‘选择的结果5’
end

select sid,cid,
case
when mark >=80 then ‘优秀’
when mark >=60 then ‘及格’
else ‘不及格’
end as ‘level’
from score

原文地址:http://www.cnblogs.com/daimenglaoshi/p/16859478.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性