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

SQL语句中case,when,then的用法,第1张

用法如下:

复制代码

SELECT

ss_id,

ss_name,

ss_sex,

CASE

WHENss_sex='1'THEN'男'

WHENss_sex='2'THEN'女'

ELSE'其他'

ENDassex,

ss_age,

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

给C#没关系,ACCESS不支持when case 语句,如果数据量不是特别大的话可以把查询到的结果在上层处理下。实在想用SQL语句解决问题,ACCESS有个IFF函数有类似功能,可以百度下。

语句写法有问题

tradeType=

case

when tradeType=1 then '存款'

when tradeType=2 then '取款'

end

as '交易类型',

第一种方法,去掉第一句 tradeType=

第二种方法,去掉最后一句 as '交易类型' (保留逗号) ,同时将第一句改为 '交易类型' =

select case citemname when '1' then 'A' when '2' then 'B' end citemname from fitemss98

只是一个例子,其他的字段以及条件你酌情调整

count

表示的是计数,也就是说记录的条数,通常和分组函数一起使用。

sql:select

userId

,

count()

from

tablename

group

by

userId。

case表示的是多条件判断。

sql:select

ename,

case

when

sal<1000

then

'lower'

when

sal>1001

and

sal<2000

then

'modest'

when

sal>2001

and

sal<4000

then

'high'

else

'too

high'

end

from

emp;

以上语句就是一个简单的判断工资等级的一个case用法。

可以的,group by后边整个条件 就是列:

CASE country

WHEN'中国'     THEN'亚洲'

WHEN'印度'     THEN'亚洲'

WHEN'日本'     THEN'亚洲'

WHEN'美国'     THEN'北美洲'

WHEN'加拿大'  THEN'北美洲'

WHEN'墨西哥'  THEN'北美洲'

ELSE'其他'END

可以

select

case 性别

when 1 then '男'

when 2 then '女'

end as 性别

from 数据表

在数据库 *** 作 select case when end 是标准Sql语句。

以上就是关于SQL语句中case,when,then的用法全部的内容,包括:SQL语句中case,when,then的用法、c# ACCESS数据库case语句查询问题、在SQL中如何使用case...end与as字句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9430147.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存