MS Access 是否支持“CASE WHEN"?子句是否与 ODBC 连接? [英] Does MS Access support "CASE WHEN" clause if connect with ODBC?
问题描述
ODBC 是否支持 MS Access 的 CASE WHEN
子句?是否有任何其他数据库不支持 CASE WHEN
子句?我在使用 ODBC 连接到 MS Access 时尝试了以下查询,但出现异常.
Does ODBC support CASE WHEN
clause for MS Access? Is there any other database which does not support the CASE WHEN
clause? I tried the following query while connecting to MS Access with ODBC but get an exception.
SELECT (CASE WHEN (AGE > 10) THEN 1 ELSE 0 END) FROM demo
[Microsoft][ODBC Microsoft Access Driver] 查询表达式(CASE WHEN (AGE > 10) THEN 1 ELSE 0 END)"中的语法错误(缺少运算符)
我试图找到一种通用方法,它适用于大多数数据库,在与 ODBC 连接时使用比较表达式生成(计算)新的布尔列".实际上,MS Access 支持在 SELECT 子句中进行比较,但对于其他一些数据库则需要 CASE 子句.对于 MS Access,SQL 可以是
I'm try to find a common way which works for most of the database to generate (compute) the new 'boolean columns' with an comparison expression while connect with ODBC. Actually, MS Access support the comparison in SELECT clause, but for some other databases CASE clause are needed. For MS Access, the SQL can be
选择年龄>10 从演示
但在其他情况下必须
SELECT (CASE WHEN (AGE > 10) THEN 1 ELSE 0 END) FROM demo
推荐答案
你可以像下面的例子一样使用 IIF
语句:
You could use IIF
statement like in the next example:
SELECT
IIF(test_expression, value_if_true, value_if_false) AS FIELD_NAME
FROM
TABLE_NAME
这篇关于MS Access 是否支持“CASE WHEN"?子句是否与 ODBC 连接?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!