case表达式

查找型case表达式
CASE
WHEN C1 THEN E1
WHEN C2 THEN E2

WHEN CN THEN EN
[ELSE ED]
END

在上面的定义中,符号C1、C2、…、CN代表条件,E1、E2、…、EN代表case表达式返回的表达式。如果when子句中条件为

真,那么case表达式返回相应的表达式。另外,符号ED代表默认表达式,也就是case表达式在条件C1、C2、…CN中没有一个

为真时将返回表达式(else子句是可选的,这就是为什么要用方括号把它括起来)。各种各样的when子句返回的所有表达式

的计算结果必须类型相同(如日期型、数字型、变长字符串型等)。

下面是一个查找型case表达式范例:
CASE
WHEN employee.title=‘Head Teller’
THEN ‘Head Teller’
WHEN employee.title=‘Teller’
AND YEAR(employee.start_date)>2007
THEN ‘Teller Trainee’
WHEN employee.title=‘Teller’
AND YEAR(employee.start_date)<2006
THEN ‘Experienced Teller’
WHEN employee.title = ‘Teller’
THEN ‘Teller’
ELSE ‘Non-Teller’
END

简单的case表达式
CASE V0
WHEN V1 THEN E1
WHEN V2 THEN E2

WHEN VN THEN EN
[ELSE ED]
END
在前面的定义中,V0代表一个值,符号V1、V2、…、VN代表要与V0比较的值,符号E1、E2、…、EN代表case表达式要返回

的表达式,ED代表V1、V2、…、VN没有一个值匹配V0时返回的默认值。

CASE customer.cust_type_cd
WHEN ‘I’ THEN
(SELECT CONCAT(i.fname,’’,i.lname) from individual I WHERE i.cust_id = customer.cust_id)
WHEN ‘B’ THEN
(SELECT b.name from business b where b.cust_id = customer.cust_id)
ELSE ‘Unknow Customer Type’
END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

trxcsdn2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值