case的用法

case的用法,第1张

case用作名词表示例子,情况,案例等含义,主要用作可数名词,偶尔也可用作不可数名词。用作动词时表示装箱,踩点,仔细检查等含义。

1case的基本意思是“事例,实例”,指作为一个参照来让人知道或了解的某物或某事,或指一个客观存在的事实,即“实情,情况”。case还可指“病例,病症”,可指一种具体的疾病,也可指一种疾病所表现出的症状。case也可指“案件,诉讼案”。case引申还可表示“格”,多用于语法中,还可指具体的“人”。

2case还有“容器,包装”的意思,指包裹在物品外面的一层外包装,这样的包装可以是不同形式的,可以是箱或袋,也可以是盒或包。case还可指“手提箱”。

3case主要用作可数名词,偶尔也可用作不可数名词。其复数形式为cases。

4in case of指“假如……发生,以防……”。

Take an umbrella with you in case of rain

带把伞吧,以防下雨。

5in the case of指“关于……”,偶尔与in case of同义。

In the case of his father, we must make an exception

关于他的父亲,我需要做个例外。

select case when stcd='stcd' and tm between 'd1' and convert(varchar(100),year(dateadd(day,1,'d1')))

+'-'+convert(varchar(100),month(dateadd(day,1,'d1')))

+'-'+convert(varchar(100),day(dateadd(day,1,'d1')))

+' 8:00:00' then sum(drp) when stcd='stcd' and tm between convert(varchar(100),year(dateadd(day,-1,'d1')))

+'-'+convert(varchar(100),month(dateadd(day,-1,'d1')))

+'-'+convert(varchar(100),day(dateadd(day,-1,'d1')))

+' 9:00:00' and 'd1' then sum(drp) end drpsum from st_pptn_r你把'stcd'和'd1'换成具体值,试试看。

case两种语法

“How Close” = CASE

WHEN (OrderID%10) > 3 THEN ‘some’

WHEN ProductID > 2 THEN ‘some2’

ELSE ‘else’ END

Position =

CASE OrderID % 10

WHEN 1 THEN ‘First’

ELSE ‘Something else’

END

第一种case when 表达式

第二种case 表达式 when

你对照下

用法如下:

复制代码

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

CASE 可能是 SQL 中被误用最多的关键字之一 虽然你可能以前用过这个关键字来创建字段 但是它还具有更多用法 例如 你可以在 WHERE 子句中使用 CASE

首先让我们看一下 CASE 的语法 在一般的 SELECT 中 其语法如下

SELECT  =

CASE

WHEN  THEN

WHEN  THEN

ELSE

END

在上面的代码中需要用具体的参数代替尖括号中的内容 下面是一个简单的例子

USE pubs

GO

SELECT

Title

Price Range =

CASE

WHEN price IS NULL THEN Unpriced

WHEN price < THEN Bargain

WHEN price BEEEN and THEN Average

ELSE Gift to impress relatives

END

FROM titles

ORDER BY price

GO

这是 CASE 的典型用法 但是使用 CASE 其实可以做更多的事情 比方说下面的 GROUP BY 子句中的 CASE

SELECT Number of Titles Count()

FROM titles

GROUP BY

CASE

WHEN price IS NULL THEN Unpriced

WHEN price < THEN Bargain

WHEN price BEEEN and THEN Average

ELSE Gift to impress relatives

END

GO

你甚至还可以组合这些选项 添加一个 ORDER BY 子句 如下所示

USE pubs

GO

SELECT

CASE

WHEN price IS NULL THEN Unpriced

WHEN price < THEN Bargain

WHEN price BEEEN and THEN Average

ELSE Gift to impress relatives

END AS Range

Title

FROM titles

GROUP BY

CASE

WHEN price IS NULL THEN Unpriced

WHEN price < THEN Bargain

WHEN price BEEEN and THEN Average

ELSE Gift to impress relatives

END

Title

ORDER BY

CASE

WHEN price IS NULL THEN Unpriced

WHEN price < THEN Bargain

WHEN price BEEEN and THEN Average

ELSE Gift to impress relatives

END

Title

GO

注意 为了在 GROUP BY 块中使用 CASE 查询语句需要在 GROUP BY 块中重复 SELECT 块中的 CASE 块

lishixinzhi/Article/program/SQLServer/201311/11236

select

(case when

to_char(sysdate,'day')

= '星期五' then 10000

when

to_char(sysdate,'day')

= '星期六' then 8000

else

5000

end) as Money

from dual

----------------------------------

以上就是关于case的用法全部的内容,包括:case的用法、sql语句case的用法、数据库 case when then等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/9518621.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存