L'interface ODBC pour MS Access prend-elle en charge la clause CASE WHEN ?
En essayant de vous connecter à MS Access via ODBC, vous avez rencontré un exception lors de l'exécution d'une requête utilisant la clause CASE WHEN. Cette exception soulève la question : ODBC prend-il en charge cette clause pour MS Access ?
Comprendre le problème de compatibilité
Malgré sa prise en charge des opérateurs de comparaison dans les clauses SELECT, MS Access le fait ne prend pas en charge nativement la clause CASE WHEN. Cependant, pour résoudre cette limitation, ODBC propose un mécanisme de contournement.
Approche alternative pour MS Access
Pour obtenir la fonctionnalité souhaitée dans MS Access via ODBC, envisagez d'utiliser le fonction switch(). La fonction switch() vous permet d'évaluer plusieurs conditions et de renvoyer les valeurs correspondantes :
select switch( age > 40, 4, age > 25, 3, age > 20, 2, age > 10, 1, true, 0 ) from demo
Chaque condition est évaluée dans l'ordre, et si elle atteint le seuil, la valeur correspondante est renvoyée. Le dernier cas, vrai, agit comme un cas par défaut et gère les situations où aucune des autres conditions n'est remplie.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!