CASE WHEN
MS Access 的ODBC 支持子句吗?是否有其他不支持该CASE WHEN
子句的数据库?我在使用 ODBC 连接到 MS Access 时尝试了以下查询,但出现异常。
SELECT (CASE WHEN (AGE > 10) THEN 1 ELSE 0 END) FROM demo
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression '(CASE WHEN (AGE > 10) THEN 1 ELSE 0 END)'
我试图找到一种通用方法,该方法适用于大多数数据库,在与 ODBC 连接时使用比较表达式生成(计算)新的“布尔列”。实际上,MS Access 支持在 SELECT 子句中进行比较,但对于其他一些数据库,则需要 CASE 子句。对于 MS Access,SQL 可以是
SELECT AGE > 10 FROM demo
但在其他情况下,它必须是
SELECT (CASE WHEN (AGE > 10) THEN 1 ELSE 0 END) FROM demo