Fonctions logiques

  • Chaque argument d'une fonction logique (expression, nom de variable ou constante) doit être séparé par une virgule.
  • La variable cible d'une fonction logique doit être numérique.
  • Les fonctions RANGE et ANY peuvent être des raccourcis utiles vers des spécifications plus compliquées sur IF, DO IFet d'autres commandes conditionnelles. Par exemple, pour les valeurs non manquantes, la commande

    SELECT IF ANY(REGION,"NW","NE","SE").

    équivaut à

    SELECT IF (REGION EQ "NW" OR REGION EQ "NE" OR REGION EQ "SE").

Plage RANGE(test,bas,haut[,bas,haut,..]). Logique. Renvoie 1 ou vrai si test est à l'intérieur de l'un des intervalles défini par les paires bas, haut. Les arguments doivent tous être numériques ou être des chaînes de même longueur, et chaque paire bas, haut doit être triée selon bas <= haut. Remarque : pour les valeurs de chaîne, les résultats peuvent différer en fonction des paramètres régionaux, même s'il s'agit d'un même groupe de caractères, puisque la séquence de classement utilisée est nationale. Dans la séquence, c'est l'ordre du langage, et non l'ordre ASCII, qui détermine la position de certains caractères.

Tous. ANY(test,valeur,valeur,...). Logique. Renvoie 1 ou vrai si la valeur de test correspond à l'une des valeurs ultérieures. Renvoie 0 ou faux dans le cas contraire. Cette fonction nécessite deux arguments ou plus. Par exemple, ANY(var1, 1, 3, 5) retourne 1 si la valeur de var1 est 1, 3 ou 5 et 0 pour les autres valeurs. ANY peut être également utilisé pour rechercher une valeur dans une liste de variables ou d'expressions. Par exemple, ANY(1, var1, var2, var3) retourne 1 si l'une de ces trois variables a la valeur 1, et 0 si toutes les variables ont des valeurs différentes de 1.

Voir Traitement des valeurs manquantes dans les arguments pour plus d'informations sur la façon dont les valeurs manquantes sont gérées par les fonctions ANY et RANGE .