为了账号安全,请及时绑定邮箱和手机立即绑定

替代CASE的方法

标签:
SQL Server

CASE是一个标量表达式,根据条件逻辑返回一个值,既然是表达式,就不能当是一条语句来控制逻辑的流程。

 

根据上帖,创建一个表,并填充数据:

复制代码

CREATE TABLE t
(
    a NVARCHAR(10),
    b NVARCHAR(10)
)

INSERT INTO t VALUES ('001','y')
INSERT INTO t VALUES ('002','n')
INSERT INTO t VALUES ('003','y')
INSERT INTO t VALUES ('004','y')复制代码

 

 为了演示不使用CASE表达式,得到使用CASE表达式相同的效果,可以先创建一个辅助表:

复制代码

CREATE TABLE s
(
    c nvarchar(10),
    d nvarchar(10)
)

INSERT INTO s VALUES('y',N'是')
INSERT INTO s VALUES('n',N'否')复制代码

 

最后是使用这个辅助表与需要处理的表串联即可得到:

SELECT a,d FROM t RIGHT JOIN s ON (t.b = s.c) ORDER BY t.a

 
执行结果:

 

 

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消