SQL中case,when,then,else的用法是什么

SQL中case,when,then,else的用法是什么

本文目录

  • 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]


推荐阅读

    excel怎么用乘法函数

    excel怎么用乘法函数,乘法,函数,哪个,excel乘法函数怎么用?1、首先用鼠标选中要计算的单元格。2、然后选中单元格后点击左上方工具栏的fx公

    角色扮演是什么意思

    角色扮演是什么意思,,许多用户想知道在网络中的角色扮演的意义是什么,各大论坛今天可以看到类似的问题,用户有作者针对这个问题问,问朋友,本文

    电脑蹭网用什么意思|什么叫蹭网?

    电脑蹭网用什么意思|什么叫蹭网?,,什么叫蹭网?不叫无线蹭网器,那个叫做无线路由器 就是本身自己不带线。连接方式也很简单 ,只需要把网线连

    excel中乘法函数是什么?

    excel中乘法函数是什么?,乘法,函数,什么,打开表格,在C1单元格中输入“=A1*B1”乘法公式。以此类推到多个单元。1、A1*B1=C1的Excel乘法公式

    monitor什么意思

    monitor什么意思,他们的,监视器,monitor什么意思你好,监视器英国展示;屏幕;(计算机)显示;监视器;监视器;监视器;小队负责人;监视;监视;收藏;记录

    标准差excel用什么函数?

    标准差excel用什么函数?,函数,标准,什么,在数据单元格的下方输入l标准差公式函数公式“=STDEVPA(C2:C6)”。按下回车,求出标准公差值。详细

    电脑RMB什么意思|电脑rmb是什么键

    电脑RMB什么意思|电脑rmb是什么键,,电脑RMB什么意思rmb电脑上是鼠标右键。rmb是RightMouseButton缩写,lmb是鼠标左键,mmb是鼠标中键。键盘上