En SQL, todos los operadores lógicos se evalúan a
        TRUE, FALSE, o
        NULL (UNKNOWN). En MySQL,
        se implementan como 1 (TRUE), 0
        (FALSE), y NULL. La
        mayoría de esto es común en diferentes servidores de bases de
        datos SQL aunque algunos servidores pueden retornar cualquier
        valor distinto a cero para TRUE.
      
            NOT, !
          
            NOT lógica. Se evalúa a 1 si el
            operando es 0, a 0 si
            el operando es diferente a cero, y NOT
            NULL retorna 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
            El último ejemplo produce 1 porque la
            expresión se evalúa igual que (!1)+1.
          
            AND, &&
          
            AND lógica. Se evalúa a 1 si todos los
            operandos son distintos a cero y no NULL,
            a 0 si uno o más operandos son 0, de
            otro modo retorna NULL.
          
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
            OR, ||
          
            OR lógica. Cuando ambos ooperandos son no
            NULL, el resultado es 1 si algún
            operando es diferente a cero, y 0 de otro modo. Con un
            operando NULL el resultado es 1 si el
            otro operando no es cero, y NULL de otro
            modo. Si ambos operandos son NULL, el
            resultado es NULL.
          
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 lógica. Retorna NULL si algún
            operando es NULL. Para operandos no
            NULL , evalúa a 1 si un número par de
            operandos es distinto a cero, sino retorna 0.
          
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 es matemáticamente igual a
            (a AND (NOT b)) OR ((NOT a) and b).
          
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.

