问题描述
我正在使用vb.net和Access 2010作为数据库(.accdb)
I am using vb.net and Access 2010 as the database (.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
但是当将相同的查询传递给Access时,出现以下错误:
But when passed the same query to Access, I get the following error:
Unrecognized keyword WHEN.
所以我认为CASE语句的访问权限不同,或者访问功能完全具有该功能吗?
So I assume that the CASE Statement is different in access, or does access has that function at all?
P.S.
is_enable是布尔值
P.S.
is_enable is boolean
推荐答案
弄清楚了:
Access 2010没有CASE功能,我们改用SWITCH.
Figured it out:
Access 2010 does not have the CASE function, we use SWITCH instead.
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
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.
Thanks to chuff and JW.
这篇关于什么是Access 2010中正确的CASE SELECT语句?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!