1. sql中case when的用法
CASE
WHEN要么是查询条件要么是查询结构,表名逗号后面没用,语法不对
2. excel通过Microsoft query连接my sql数据,sql语句能使用case when then函数或iif函数吗
else '现金' 这个后面加个End 变成else '现金' end)
3. sql 的case when 语句
把括号去掉就好了。
下面是case的两种用法,可以看下 :
1. 使用带有 CASE 简单表达式的 SELECT 语句。
在 SELECT 语句中,CASE 简单表达式只能用于等同性检查,而不进行其他比较。下面的示例使用 CASE 表达式更改产品系列类别的显示,以使这些类别更易于理解。
USE AdventureWorks2008R2;
GO
SELECT ProctNumber, Category =
CASE ProctLine
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 Proction.Proct
ORDER BY ProctNumber;
GO
2. 使用带有 CASE 搜索表达式的 SELECT 语句
在 SELECT 语句中,CASE 搜索表达式允许根据比较值替换结果集中的值。下面的示例根据产品的价格范围将标价显示为文本注释。
USE AdventureWorks2008R2;
GO
SELECT ProctNumber, Name, 'Price Range' =
CASE
WHEN ListPrice = 0 THEN 'Mfg item - not for resale'
WHEN ListPrice < 50 THEN 'Under $50'
WHEN ListPrice >= 50 and ListPrice < 250 THEN 'Under $250'
WHEN ListPrice >= 250 and ListPrice < 1000 THEN 'Under $1000'
ELSE 'Over $1000'
END
FROM Proction.Proct
ORDER BY ProctNumber ;
GO
4. SQL中CASE WHEN THEN的用法
selectcasewhenage<30thenN'青年'whenagebetween30and49thenN'中年'elseN'老年'endas[年龄段],count(name)as[数目]fromtable
groupbycasewhenage<30thenN'青年'whenagebetween30and49thenN'中年'elseN'老年'end
5. sql case when怎么用
case when 0 then ‘是’when 1 then ‘否’;一般情况下在查询语句中用,根居不同的数据结果查询转换成自己想要的类型;
楼主的情况,建议用存储过程,写if语法来做处理
6. 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
--输出结果:
7. 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
8. 你好,excel问题求助。请在EXCEL中用SQL语句实现结果,具体请参考图片附
用case when 结构就可以实现。
select case aa when 'A' then '是' when 'B' then '否' when 'C' then '非' when 'D' then '是' when 'E' then '非' when 'F' then '非' else '' end case from table1
9. 关于使用sql语句sum(case when……)来实现分类汇总功能
有两处有笔误,如果结果不同的话,需要检查一下,先对比下总金额,再对比各个的销售额,再检查姓名是否完全一致,EXCEL中经常有前后空格或是不容易显示出来的字符会有影响,用select 月份,姓名,sum(销售数量*产品单价) from 表格 group by 月份,姓名
例如:
select
月份,
sum(casewhen销售人员='姓名1'then销售数量*产品单价else0end)as姓名1销售额,
sum(casewhen销售人员='姓名2'then销售数量*产品单价else0end)as姓名1销售额,
sum(casewhen销售人员='姓名3'then销售数量*产品单价else0end)as姓名1销售额
from表格
groupby月份,销售人员
(9)excelsqlcasewhen扩展阅读:
注意事项
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