casewhen返回多个值(case when then else多个结果)

http://www.itjxue.com  2023-01-26 21:13  来源:未知  点击次数: 

SQL查询语句中如何用case when 返回多个字段?

一个字段一个字段的判断

就是a和b都不等于0返回的话

select

table.*,

(case

when

a0

and

b0

then

c%a

else

end)

as

e,

(case

when

a0

and

b0

then

(c%a)%b

else

end)

as

d

from

table

where

……

如果是其他情况,再添加case

when条件

case when 多个判断返回多个字段

select?sum(case?when?end_km5000?then?1?else?0?end)?as?[小于0.5万公里],

sum(case?when?end_km=5000?and?end_km15000?then?1?else?0?end)?as?[0.5万到1.5万公里],

sum(case?when?end_km=15000?and?end_km20000?then?1?else?0?end)?as?[1.5万到2万公里],

sum(case?when?end_km=20000?and?end_km25000?then?1?else?0?end)?as?[2万到2.5万公里],

sum(case?when?end_km=25000?and?end_km30000?then?1?else?0?end)?as?[2.5万到3万公里],

sum(case?when?end_km=30000?then?1?else?0?end)?as?[2.5万到3万公里]

from?表名

as别名那地方,看你具体是什么数据库了,sqlserver或access的话就像我这么写,oracle的话,将[]换成一对双引号(英文写法滴),mysql的话将[]换成这个``(上边数字键1左边那个键)

oracle case的这种写法怎么对应多个值 case x when……

1、先创建测试表如下:

create table TEST_SRC_ANA_TABLES

(

owner? ? ? VARCHAR2(30) not null,

table_name VARCHAR2(100) not null,

db_name? ? VARCHAR2(30)

)

并插入数据如下,

2、编写case x when ...的脚本:

3、也可以写成case when x... when x...的脚本:

扩展资料

1、Case when 的用法,简单Case函数 ,简单CASE表达式,使用表达式确定返回值.

语法:

CASE search_expression

WHEN expression1 THEN result1

WHEN expression2 THEN result2

...

WHEN expressionN THEN resultN

ELSE default_result

2、搜索CASE表达式,使用条件确定返回值。

语法:

CASE

WHEN condition1 THEN result1

WHEN condistion2 THEN result2

...

WHEN condistionN THEN resultN

ELSE default_result

END

3、这两种方式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。

参考资料

Oracle-百度百科

(责任编辑:IT教学网)

更多

推荐照片处理文章