本文目录
- SQL中case,when,then,else的用法是什么
- sql语句中“case when”怎样使用
- sql 中 case when 语法
- sql case when怎么用
- SQL中case when的用法
- PLSQL中,select case..when.. then..什么意思怎么用
- sql 的case when 语句
- sql语句case when什么意思
- SQL条件控制(case whenthenelseend) 的详细解释是什么
SQL中case,when,then,else的用法是什么
用法:
1、第一种写法:
复制代码
SELECT
s.s_id,
s.s_name,
s.s_sex,
CASE
WHEN s.s_sex = ’1’ THEN ’男’
WHEN s.s_sex = ’2’ THEN ’女’
ELSE ’其他’
END as sex,
s.s_age,
s.class_id
FROM
t_b_student s
WHERE
1 = 1
2、第二种写法
SELECT
s.s_id,
s.s_name,
s.s_sex,
CASE s.s_sex
WHEN ’1’ THEN ’男’
WHEN ’2’ THEN ’女’
ELSE ’其他’
END as sex,
s.s_age,
s.class_id
FROM
t_b_student s
WHERE
1 = 1
两个运行结果一样:
有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。
扩展资料:
Case具有两种格式:简单Case函数和Case搜索函数。
简单Case函数:
CASE sex
WHEN‘1’THEN‘男’
WHEN‘0’THEN‘女’
ELSE‘其他’END
Case搜索函数:
CASE WHEN sex=‘1’THEN‘男’
WHEN sex=‘0’THEN‘女’
ELSE‘其他’END
显然,简单Case函数生在简洁,但是它只适用于这种单字段的单值比较,而Case搜索函数的优点在于适用于所有比较的情况。
还有一个需要注意的问题,Case函数在满足了某个符合条件后,剩下的条件将会被自动忽略,因此,即使满足多个条件,执行过程中也只认第一个条件。
在使用CASE WHEN时,可以把它当作一个没有字段名的字段,字段值根据条件确认,在需要使用字段名时可以是用as来定义别名。
sql语句中“case when”怎样使用
举个例子就明白了,例如在员工的工资表把员工的工资分成等级
1000以下为低薪,1000-2000为中等,其他为高薪
select (case when salary 《= 1000 then ’低薪’ when salary 》 1000 and salary 《 2000 then ’中等’ else ’高薪’ end ) as 工资等级 from employee
这样,工资等级就可以当做一个列来处理,包括where里面,可以写where (case when salary 《= 1000 then ’低薪’ when salary 》 1000 and salary 《 2000 then ’中等’ else ’高薪’ end ) = ‘低薪’
当做一个列就好了
sql 中 case when 语法
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
这两种方式,可以实现相同的功能。简单case函数的写法相对比较简洁,但是和case搜索函数相比,功能方面会有些限制,比如写判定式。
还有一个需要注重的问题,case函数只返回第一个符合条件的值,剩下的case部分将会被自动忽略。
--比如说,下面这段sql,你永远无法得到“第二类”这个结果
case when col_1 in ( ’a’, ’b’) then ’第一类’
when col_1 in (’a’) then ’第二类’
else’其他’ end
sql case when怎么用
case when 0 then ‘是’when 1 then ‘否’;一般情况下在查询语句中用,根居不同的数据结果查询转换成自己想要的类型;
楼主的情况,建议用存储过程,写if语法来做处理
SQL中case when的用法
select b ,(case when count(b)=sum(case when a=null then 0 else 1 end) then 0 else count(b) end) from 表名 group by b
(A B 两个字段, 在B相同的情况下, 要对A有条件的记数,即只要A有一个非空, 就全部记数; A都为空, 也全部记数; A都不为空, 则都不记数
举例:
1. A B
* V1
V1 (记数结果 V1: 2)
2. A B
V1
V1 (记数结果 V1: 2)
3. A B
* V1
* V1 (记数结果 V1: 0)
)
PLSQL中,select case..when.. then..什么意思怎么用
case when ... then .. when .. then ... end
这种表达式,是sql的不同条件分支结果。
举例如下,
1、创建数据表,create table test_student(stu_id number, class_id number);
2、插入测试数据,
insert into test_student values(1,1001);
insert into test_student values(2,1001);
insert into test_student values(3,1002);
insert into test_student values(4,1003);
insert into test_student values(5,1003);
insert into test_student values(6,1003);
3、查询表中数据,select * from test_student ,
4、编写case when 表达式,将class_id翻译为中文名称,sql如下,
select t.*,
case
when class_id = 1001 then
’语文’
when class_id = 1002 then
’数学’
when class_id = 1003 then
’英语’
end as class_name
from test_student t;
sql 的case when 语句
case when应该是select或者是where条件的一部分,你这里,case when部分没有在任何一个地方,而且,你这个很明显,应该是select里面的一部分,作为查询的一个结果列。
所以,要在from前。
还有,when后边是没有逗号的。
最后,还需要end关键字表示结束。
Select prevent_Seep,
Case when length(prevent_Seep) = 1 then ‘无’
When length(prevent_seep) = 2 then ‘有’
When length(prevent_seep) 》 2 then substring(prevent_seep,2,length(prevent_seep))
end as 别名
from Table_F301(2)
sql语句case when什么意思
case when 就是case when
判断 case when 当满足条件 then 。。。
when ...... then
...
可以写很多种情况,直到结束
SQL条件控制(case whenthenelseend) 的详细解释是什么
例如一个3条件取值的字段:
case when 条件1 then 取值1 when 条件2 then 取值2 else 取值3 end
when后接条件语句,then后为字段取值(数值或字符串等都可以,但类型须一致)。
CASE WHEN 及 SELECT CASE WHEN的用法:
Case具有两种格式。简单Case函数和Case搜索函数。
1、 简单Case函数
CASE sex
WHEN ’1’ THEN ’男’
WHEN ’2’ THEN ’女’
ELSE ’其他’ END
2、Case搜索函数
CASE WHEN sex = ’1’ THEN ’男’
WHEN sex = ’2’ THEN ’女’
ELSE ’其他’ END
种方式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。
参考资料
新浪博客.新浪博客[引用时间2018-1-22]