用法如下:
复制代码
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字句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)