Opérateurs de comparaison
<<<
Opérateurs logiques Sensibilité à la casse
>>>

13.1 Opérateurs et fonctions tous types
13 Fonctions à utiliser dans les clauses SELECT et WHERE
 Manuel de Référence MySQL 4.1 : Version Française

Parenthèses
Opérateurs de comparaison
->Opérateurs logiques
Sensibilité à la casse

13.1.3 Opérateurs logiques

En SQL, tous les opérateurs logiques évaluent à TRUE , FALSE ou NULL (INCONNU). En MySQL, c'est implémenté en 1 (TRUE), 0 (FALSE), et NULL . La plupart de ce qui suit est est commun entre les différents bases de données SQL, pourtant, certains système pourraient retourner une valeur non nulle pour TRUE (pas obligatoirement 1).

    NOT
    !
    NOT (NON) logique. Evalue à 1 si l'opérande est 0 , à 0 si l'opérande est non nulle, et NOT NULL retourne NULL .
    
    mysql> SELECT NOT 10;
            -> 0
    mysql> SELECT NOT 0;
            -> 1
    mysql> SELECT NOT NULL;
            -> NULL
    mysql> SELECT ! (1+1);
            -> 0
    mysql> SELECT ! 1+1;
            -> 1
    Le dernier exemple donne 1 car l'expression est évaluée comme (!1)+1 .

    AND
    &&
    AND (ET) logique. Evalue à 1 si toutes les opérandes sont différentes de zéro et de NULL , à 0 si l'une des opérandes est 0 , dans les autres cas, NULL est retourné.
    
    mysql> SELECT 1 && 1;
            -> 1
    mysql> SELECT 1 && 0;
            -> 0
    mysql> SELECT 1 && NULL;
            -> NULL
    mysql> SELECT 0 && NULL;
            -> 0
    mysql> SELECT NULL && 0;
            -> 0
    Notez que pour les versions antérieures à la 4.0.5 l'évaluation est interrompue lorsque NULL est rencontré, au lieu de continuer à tester une éventuelle existence de 0 . Cela signifie que dans ces versions, SELECT (NULL AND 0) retourne NULL au lieu de 0 . En 4.0.5 le code a été revu pour que le résultat réponde toujours au normes ANSI tout en optimisant le plus possible.

    OR
    ||
    OR (OU inclusif) logique. Evalue à 1 si aucune opérande n'est nulle, à NULL si l'une des opérandes est NULL , sinon 0 est retourné.
    
    mysql> SELECT 1 || 1;
            -> 1
    mysql> SELECT 1 || 0;
            -> 1
    mysql> SELECT 0 || 0;
            -> 0
    mysql> SELECT 0 || NULL;
            -> NULL
    mysql> SELECT 1 || NULL;
            -> 1
    XOR
    XOR (OU exclusif) logique. Retourne NULL si l'une des opérandes est NULL . Pour les opérandes non- NULL , évalue à 1 si un nombre pair d'opérandes est non-nul, sinon 0 est retourné.
    
    mysql> SELECT 1 XOR 1;
            -> 0
    mysql> SELECT 1 XOR 0;
            -> 1
    mysql> SELECT 1 XOR NULL;
            -> NULL
    mysql> SELECT 1 XOR 1 XOR 1;
            -> 1
    a XOR b est mathématiquement égal à (a AND (NOT b)) OR ((NOT a) and b) .

<< Opérateurs logiques >>
Opérateurs de comparaison Opérateurs et fonctions tous types Sensibilité à la casse