sql2005中的case when语句怎么用啊?请写出一个常见的例子
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql2005中的case when语句怎么用啊?请写出一个常见的例子相关的知识,希望对你有一定的参考价值。
sql语句中定义了一个变量@num,我要完成的功能是:当@num>10时,执行一个操作(比如:select,update,insert这样的操作),当@num>20时,执行。。。。就是这样下去,像switch语句一样!
假设sex字段是1位的字符型的,1或2,1代表男,2代表女如果想在查询结果中不显示1、2,而显示男、女,则:
假设一个表的环境,表名叫tab_1,字段“姓名”为name,字段“性别”为sex
select name,
case sex
when \'1\' then \'男\'
when \'2\' then \'女\'
end
from tab_1;
结果如:
name`````````sex
----------------
张三`````````男
李四`````````女
而不加case when语句的是:
name`````````sex
----------------
张三`````````1
李四`````````2
================================================
还有一种写法,例如:
select
case
when 总分 >= 180 then \'优秀\'
when 总分 <= 120 then \'差\'
end
from 成绩表; 参考技术A 用if吧
IF @NUM>10
BEGIN
……(比如:select,update,insert这样的操作)
END
IF @NUM>20
BEGIN
……(比如:select,update,insert这样的操作)
END
SQL中的decode及case when的用法
参考技术A 在写 sql的时候我们会经常使用到decode函数,今天我们来讲一些decode的基本用法吧。表达式:decode(列名,值1,值11,值2,值22,值3,值33......,值X)
表达式的意思:
文字描述: 如果列名对应的值等于值1,那么他的值就等于值11,如果列名对应的值是值2那么他的值就是值22,如果列名对应的值是值3那么他的值就是值33等等,条件都不满足,列名的值就是值X 。
用java的语法来表达就是:
其实在sql中还有一种方法表达的来表达if else的判断语句,那就是 case when语句,但是case when 有两种表方式.
用case when 来表达上面的语句:
表达方式一:
表达方式二:
最后提一点一定要 注意 的是:
如果不一样那就会报错
ps:如果对你们有帮助请点击下面的喜欢,谢谢
以上是关于sql2005中的case when语句怎么用啊?请写出一个常见的例子的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server CASE .. WHEN .. IN 语句