sql case 的使用方法有哪些?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql case 的使用方法有哪些?相关的知识,希望对你有一定的参考价值。
case when @i<@j then 1 when @i>@j then 2 else 3
是否等价于C#的
if (@i<@j)
1
else if (@i>@j)
2
else
3
如果不是的话,那要做那种效果该怎么做
我这里用的是sql2000 ,但是那种效果,不晓得是不是数据库有问题,或者不支持。
c#的if..else结构,每个分支下应该是表达式,以;结尾。
case when语句比较容易理解,接近于自然语言:当满足某条件时,取某值;当满足另外条件时,取其他值。如:
select case when t.col='1' then '1' when t.col='2' then '2' when t.col in ('3','4') then '3' else '4' end as result from t_table t;
case when 也可以嵌套,但你要注意格式。 参考技术B 不明白姓名你要怎么算法,写个简单的
select 年级,count(语文) as 语文,count(数学) as 数学,count(英语) as 英语
from cj
where (case when @param='' then 1 else charindex(姓名,@param) end)>0
group by 年级 参考技术C 是的,你可以把下面代码拷贝到查询分析器,改变@i,@j的值运行看看效果:
declare @i int,
@j int
set @i=0
set @j=1
select case when @i<@j then 1 when @i>@j then 2 else 3 end as rst
SQL学习- case when then else
场景
当前有一张“学生成绩表”
需要查询有哪些学生及格,哪些不及格。
例子
create table StudentScore (
name string,
score int
);
INSERT INTO StudentScore VALUES
('AAA',32),
('BBB',58),
('CCC',62),
('DDD',92);
select查询
select name,
case
when score >= 90 then '优秀'
when score >= 60 then '及格'
else '不及格'
end as test_result
FROM StudentScore;
结果
以上是关于sql case 的使用方法有哪些?的主要内容,如果未能解决你的问题,请参考以下文章