Access中替代case when的方法

最近在做一个用Access的东东,其中用到了case when的方式,但是Access是不支持这种语法的,查询知道IIf和Swith可以作为替代,总结如下:

IIf(expr, truepart, falsepart) 


IIf 函数的语法含有下面这些命名参数: 
部分              描述 
expr 必要参数。用来判断真伪的表达式。 
truepart 必要参数。如果 expr 为 True,则返回这部分的值或表达式。 
falsepart 必要参数。如果 expr 为 False,则返回这部分的值或表达式。

实例:

SELECT Q_SellOut.*,
iif(sell_month='1' or sell_month='2' or sell_month='3','Q1',iif(sell_month='4' or sell_month='5' or sell_month='6','Q2',iif(sell_month='7' or sell_month='8' or sell_month='9','Q3',iif(sell_month='10' or sell_month='11' or sell_month='12','Q4','Error')))) as Acct_Quarter
FROM Q_SellOut;

以上实现是找出来某月属于哪个季度。

另外的Switch方式:

SELECT UserID,
             UserName,
             SWITCH(
            Sex = 'f',   '男',
            Sex = 'm', '女',
            True, '保密'
            ) AS SexName
from tUser
上述中最后一个Case为true,该用法类似于When Case语法中的Else。


  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值