百度
360搜索
搜狗搜索

case when用法sql,SQL中case when的用法详细介绍

本文目录一览: case when用法sql

在SQL中,“Case When”语句用法如下:
在SQL中,“Case When”语句用于选择判断,在执行时先对条件进行判断,然后根据判断结果做出相应的操作;语法“CASE 字段 WHEN 条件1 THEN 操作1 WHEN 条件2 THEN 操作2...ELSE 操作n END;”。
SQL 是一种操作数据库的语言,包括创建数据库、删除数据库、查询记录、修改记录、添加字段等。SQL 虽然是一种被 ANSI 标准化的语言,但是它有很多不同的实现版本。
SQL 是 Structured Query Language 的缩写,中文译为“结构化查询语言”。SQL 是一种计算机语言,用来存储、检索和修改关系型数据库中存储的数据。SQL 是关系型数据库的标准语言,所有的关系型数据库管理系统(RDBMS),比如 MySQL、Oracle、SQL Server、MS Access、Sybase、Informix、Postgres 等,都将 SQL 作为其标准处理语言。
此外,SQL 也有一些变种,就像中文有很多方言,比如:
微软的 SQL Server 使用 T-SQL;
Oracle 使用 PL/SQL;
微软 Access 版本的 SQL 被称为 JET SQL(本地格式)。

sql case when 怎么用

case-单词讲解(释义、例句)
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,then的用法

select case when 字段名 is null then '录入' else 字段名 end as 别名 from 表名 where 条件
别名要不要都行。 语法没多少用的!要有一个整段sql例子!你就懂了
case 表达式
when 值1 then 结果1
when 值2 then 结果2
else 结果3
也有另一种形式
case
when 表达式1 then 结果1
when 表达式2 then 结果2
else 结果3
用法如下:
复制代码
SELECT
s.s_id,
s.s_name,
s.s_sex,
CASE
WHENs.s_sex='1'THEN'男'
WHENs.s_sex='2'THEN'女'
ELSE'其他'
ENDassex,
s.s_age,
s.class_id
FROM
t_b_students
WHERE
1=1
这两个结果是一样的:
需要注意的一点是,Case函数只返回第一个限定值,其余的Case将被自动忽略。
扩展资料:
Case有两种格式:简单函数和Case搜索函数。
简单的例子功能:
CASEsex
WHEN‘1’THEN‘男’
WHEN‘0’THEN‘女’
ELSE‘其他’END
Case搜索函数:
CASEWHENsex=‘1’THEN‘男’
WHENsex=‘0’THEN‘女’
ELSE‘其他’END
显然简单的Case函数天生简洁,但它们只适用于这种单字段单值比较,而Case搜索函数具有适用于所有比较用例的优势。
另一个需要注意的问题是,在Case函数满足了某个条件之后,其余的条件将被自动忽略,这样即使满足了多个条件,在执行过程中也只能识别第一个条件。
当使用CASEWHEN时,您可以将其视为没有字段名的字段,字段值是有条件的,并且在需要使用字段名时可以使用as来定义别名。

PLSQL中,select case..when.. then..什么意思?怎么用?

case 是SQL国际标准就有的,他的作用就是实现条件语句(如同一般计算机语言中的if和switch……case)按照不同的使用方法case有两种语法:
1.简单case语法是
就是实现相当于一般计算机语言中switch……case样式的,格式是
case 变量表达式 --对某个‘变量表达式’进行判断
when 值 --当‘变量表达式’是某个‘值’时
then 返回值表达式 --返回‘返回值表达式’值
[when...
then...
.....] --可以进行多次判断
[else 其他情况返回值表达式] --不符合所有when后面的就是其他情况了
end --结束
举例,比如一个表的sex列用M表示男性,F表示女性,现在不要返回MF而是想返回男女就可以:
select (case sex when 'M' then '男' when 'F' then '女' end) from 表
2 case搜索函数
就是实现相当于一般计算机语言中if……elseif……样式的,格式是
case --case后面没有表达式表示使用的是搜索函数
when 条件 --条件就是布尔表达式,也就判断语句
then 返回值表达式 --条件为真时的返回该表达式值
[when ...
then ...
.........] --可以进行多次判断
[else 其他情况返回值表达式]--不符合所有when后面的就是其他情况了
end -- 结束
同样的以性别为例
select (case when sex='M' then '男' when sex = 'F' then '女' end) from 表
case when语句和判断有关比如:
USE AdventureWorks;
GO
SELECT ProductNumber, Category =
CASE ProductLine
WHEN 'R' THEN 'Road'
WHEN 'M' THEN 'Mountain'
WHEN 'T' THEN 'Touring'
WHEN 'S' THEN 'Other sale items'
ELSE 'Not for sale'
END,
Name
FROM Production.Product
ORDER BY ProductNumber;
GO
这句话其实意思很简单,就是对每一行中的ProductLine字段进行匹配,如果等于R就替换成Road,如果不是R,M,T,S的话,就替换为Not for sale。
祝你好运,朋友!
I am Radeon Ling
La Vie en Rose
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数据库入门,文科生零基础想学习SQL需要怎么做呢。?

关于使用sql语句sum(case when??)来实现分类汇总功能

有两处有笔误,如果结果不同的话,需要检查一下,先对比下总金额,再对比各个的销售额,再检查姓名是否完全一致,EXCEL中经常有前后空格或是不容易显示出来的字符会有影响,用select 月份,姓名,sum(销售数量*产品单价) from 表格 group by 月份,姓名
例如:
select
月份,
sum (case when 销售人员='姓名1' then 销售数量*产品单价 else 0 end) as 姓名1销售额,
sum (case when 销售人员='姓名2' then 销售数量*产品单价 else 0 end) as 姓名1销售额,
sum (case when 销售人员='姓名3' then 销售数量*产品单价 else 0 end) as 姓名1销售额
from 表格
group by 月份,销售人员
扩展资料:注意事项
case when有用两种用法如下:
用法一:
CASE case_value
WHEN when_value THEN statement_list
[WHEN when_value THEN statement_list] ...
[ELSE statement_list]
END CASE
用法二:
CASE
WHEN search_condition THEN statement_list
[WHEN search_condition THEN statement_list] ...
[ELSE statement_list]
END CASE

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
case when then as 某个字段,后面可以加sql语句的

SQL中case when的用法

给你个例子
select
rq,case
deptid
when
'0201'
then
'开发区店'
when
'0202'
then
'金州店'
when
'0203'
then
'华南南店'
end
fd
from
ghdwjxcr
group
by
rq,substring(deptid,1,4)
CASE
WHEN要么是查询条件要么是查询结构,表名逗号后面没用,语法不对
case '字段' when 1 then '你好' when 2 then
'hi' else '88' end
case '字段' when 1 then '你好' when 2 then
'hi' else '88' end
给你个例子
SELECT
RQ,CASE
DEPTID
WHEN
'0201'
THEN
'开发区店'
WHEN
'0202'
THEN
'金州店'
WHEN
'0203'
THEN
'华南南店'
END
FD
FROM
GHDWJXCR
GROUP
BY
RQ,SUBSTRING(DEPTID,1,4)
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)
)

阅读更多 >>>  sql数据库怎么改域名名称,sqlserver更改数据库名

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 …… then …… 用法是什么?

select 分数,类别=Case
WHEN 分数>=85 THEN '优秀'
WHEN 分数>=75 THEN '良好'
WHEN 分数>=60 THEN '及格'
ELSE '不及格'
END
from 成绩表
select a case when is '0' then 'a=0' when ='1'then 'a=1' from b;
相当于 if else 条件选择
用法1:
select (case when a.score<60 then '不及格' else '及格' end ) as 成绩
from tablename a //小于60不及格,否则及格
用法2
select case a.sex when 'a' then '男' else '女' end from tablename a
如果a.sex=a 则为男,否则为女

网站数据信息

"case when用法sql,SQL中case when的用法"浏览人数已经达到20次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:case when用法sql,SQL中case when的用法的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!