access如何实现多重case when的功能?

vc555 2010-04-09 02:14:49

case 字段
when 1 then 'a'
when 2 then 'b'
when 3 then 'c'
...
else 'n/a'
end case

在access中的iif只能做一次这种判断:iif(字段=1,'a','b')

请问能实现这个功能吗?
...全文
176 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
WWWWA 2010-04-09
  • 打赏
  • 举报
回复
用IIF可以,注意,有嵌套限制(8重)
ACMAIN_CHM 2010-04-09
  • 打赏
  • 举报
回复
那就只能用IIF来实现了。
vc555 2010-04-09
  • 打赏
  • 举报
回复
是我用pb做的程序,数据库用的access.
现在是想写sql实现。Switch函数不能用在sql中吧?
ACMAIN_CHM 2010-04-09
  • 打赏
  • 举报
回复
如果是在ACCESS环境中可以直接使用 Switch 函数

[Quote]Switch 函数



计算一列表达式,并返回列表中第一个表达式为 True 时与其关联的 Variant 值或表达式。

语法

Switch(expr-1, value-1[, expr-2, value-2 … [, expr-n,value-n]])

Switch 函数语法具有下面这些部分:

部分 说明
expr 必选。需要计算的变量表达式。
value 必选。这是当相应的表达式为 True 时将返回的值或表达式。


说明

Switch 函数参数列表包含表达式和值对。表达式将从左向右进行计算,要计算的第一个表达式为 True 时,则返回与此表达式关联的值。如果组成部分没有正确配对,则将发生运行时错误。例如,如果 expr-1 为 True,则 Switch 返回 value-1。如果 expr-1 为 False,但是 expr-2 为 True,则 Switch 返回 value-2,依此类推。

如果是下面的情况,则 Switch 将返回 Null 值:

没有一个表达式为 True。


第一个 True 表达式的相应值为 Null。
Switch 将计算所有表达式,即使它只返回其中一个。因此,应该注意副作用。例如,如果在计算任一表达式时出现了除以零的情况,将出现错误。
[/Quote]

7,712

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧