当前位置:首页 » 编程语言 » sql的whencase
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql的whencase

发布时间: 2023-08-15 14:55:47

sql case when 语句

求总发卡数和总制卡数和发卡正式卡数、发卡临时卡数、发卡正式卡数,制卡临时卡数、制卡正式卡数(如Excel中所示)求详细SQL语句。

--创建测试表
IFEXISTS(SELECT*FROMsys.objectsWHEREobject_id=OBJECT_ID(N'[dbo].[TB]')ANDtypein(N'U'))
DROPTABLE[dbo].[TB1]
GO
CREATETABLE[dbo].[TB1](
[卡状态][nvarchar](20)NULL,
[卡类型][nvarchar](50)NULL,
)ON[PRIMARY]
GO

--插入测试数据
INSERTINTO[TB1]([卡状态],[卡类型])
SELECTN'发卡',N'正式卡'UNIONALL
SELECTN'发卡',N'正式卡'UNIONALL
SELECTN'发卡',N'临式卡'UNIONALL
SELECTN'制卡',N'临式卡'UNIONALL
SELECTN'制卡',N'正式卡'
GO

--静态拼接行转列(纠正简化一下)
SELECT卡状态+'数'AS卡状态,
COUNT(1)AS总数,
SUM(CASEWHEN卡类型='正式卡'THEN1
ELSE0
END)AS正式卡,
SUM(CASEWHEN卡类型='临式卡'THEN1
ELSE0
END)AS临式卡
FROMTB1
GROUPBY卡状态
GO

--输出结果:

② 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要么是查询条件要么是查询结构,表名逗号后面没用,语法不对

④ sql case when 可以嵌套多少个

可以嵌套很多个when ....then.. 最后加上end。解决方法如下:

1、首先新建查询或者直接打开之前保存的查询。

⑤ SQL语句中case,when,then的用法

用法如下:

复制代码

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将被自动忽略。

(5)sql的whencase扩展阅读:

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来定义别名。

⑥ sql语句case when什么意思

case when 就是case when
判断 case when 当满足条件 then 。。。
when ...... then
...
可以写很多种情况,直到结束

⑦ 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。