首页 > 数据库 >Access中替代SQL Server的case when语句的办法

Access中替代SQL Server的case when语句的办法

时间:2022-12-07 10:00:13浏览次数:74  
标签:case sell expr when month Access iif IIf Server

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

IIf 函数

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方式

另外的Switch方式:

SELECT UserID,
      UserName,
      SWITCH(
        Sex = 'f',   '男',
        Sex = 'm', '女',
        True, '保密'
     ) AS SexName
from tUser

上述中最后一个Case为true,该用法类似于When Case语法中的Else。

参考链接:
https://blog.csdn.net/yangzhijun_cau/article/details/7282633

标签:case,sell,expr,when,month,Access,iif,IIf,Server
From: https://www.cnblogs.com/cqpanda/p/16961547.html

相关文章