Поддерживает ли ODBC предложение CASE WHEN
для MS Access? Есть ли другая база данных, которая не поддерживает предложение CASE WHEN
? Я пробовал следующий запрос при подключении к MS Access с ODBC, но получаю исключение.
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