Access 2010中正确的CASE SELECT语句是什么?

Rub*_*_PH 13 sql vb.net ms-access case

我使用vb.net和Access 2010作为数据库(.accdb)

这适用于MySQL:

SELECT user_id, username, first_name, middle_name, last_name,
CASE is_enable WHEN 1 THEN 'Yes' ELSE 'No' END 
FROM tbl_user_accounts ORDER BY user_id
Run Code Online (Sandbox Code Playgroud)

但是当向Access传递相同的查询时,我收到以下错误:

Unrecognized keyword WHEN.
Run Code Online (Sandbox Code Playgroud)

所以我假设CASE语句在访问方面有所不同,或者访问是否具有该功能?

PS
is_enable是布尔值

Rub*_*_PH 16

弄清楚:
Access 2010没有CASE功能,我们改用SWITCH.

SELECT user_id, username, first_name, middle_name, last_name, SWITCH(is_enable=True,'Yes',is_enable=False,'No') FROM tbl_user_accounts ORDER BY user_id

感谢chuff和JW.

  • 请注意,如果您的测试条件均未评估为True,则Switch函数将返回NULL.如果要处理没有匹配的默认情况,请使用:Switch(cond1,exp1,cond2,exp2,...,True,expn).如果没有其他条件,则最后一个条件True将始终匹配.所以你总是至少返回默认值expn. (4认同)