Curso de MariaDB Desde la Consola/Operadores Lógicos

De WikiCabal
Saltar a: navegación, buscar

Operadores Lógicos

Operadores NOT

NOT n  o  !n

NO lógico. Evalúa a 1 si el operando es de 0 a 0 si el operando 
es diferente a cero, y  NULL, devuelve NULL. De forma predeterminada, 
el ! operador tiene una prioridad más alta. Si el 
HIGH_NOT_PRECEDENCE indicador está establecido, 
NO y ! Tienen la misma precedencia.

MariaDB [(none)]> SELECT NOT 10;
+--------+
| NOT 10 |
+--------+
|      0 |
+--------+
1 row in set (0.00 sec)

MariaDB [(none)]> SELECT NOT 0;
+-------+
| NOT 0 |
+-------+
|     1 |
+-------+
1 row in set (0.00 sec)

MariaDB [(none)]> SELECT NOT NULL;
+----------+
| NOT NULL |
+----------+
|     NULL |
+----------+
1 row in set (0.00 sec)

MariaDB [(none)]> SELECT ! (1+1);
+---------+
| ! (1+1) |
+---------+
|       0 |
+---------+
1 row in set (0.00 sec)

MariaDB [(none)]> SELECT ! 1+1;
+-------+
| ! 1+1 |
+-------+
|     1 |
+-------+
1 row in set (0.00 sec)

MariaDB [(none)]> SELECT ! (1-1);
+---------+
| ! (1-1) |
+---------+
|       1 |
+---------+
1 row in set (0.00 sec)

Operadores AND

m && n   o    m AND n

Lógico AND se evalúa a 1 si los operandos son distintos de cero 
y no NULL, 0 si uno o más operandos son 0, 
de lo contrario se devuelve NULL.

MariaDB [(none)]> SELECT 1 && 1;
+--------+
| 1 && 1 |
+--------+
|      1 |
+--------+
1 row in set (0.00 sec)

MariaDB [(none)]> SELECT 1 && 0;
+--------+
| 1 && 0 |
+--------+
|      0 |
+--------+
1 row in set (0.00 sec)

MariaDB [(none)]> SELECT 1 && NULL;
+-----------+
| 1 && NULL |
+-----------+
|      NULL |
+-----------+
1 row in set (0.00 sec)

MariaDB [(none)]> SELECT 0 && NULL;
+-----------+
| 0 && NULL |
+-----------+
|         0 |
+-----------+
1 row in set (0.00 sec)

MariaDB [(none)]> SELECT NULL && 0;
+-----------+
| NULL && 0 |
+-----------+
|         0 |
+-----------+
1 row in set (0.00 sec)

Operador XOR

m XOR n

XOR significa OR exclusiv. Devuelve NULL si cualquier operando 
es NULL. Para los no-NULL operandos, evalúa a 1 si un y solo un número 
impar de los operandos es distinto de cero, de lo contrario se devuelve 0.

MariaDB [(none)]> SELECT 1 XOR 1;
+---------+
| 1 XOR 1 |
+---------+
|       0 |
+---------+
1 row in set (0.00 sec)

MariaDB [(none)]> SELECT 1 XOR 0;
+---------+
| 1 XOR 0 |
+---------+
|       1 |
+---------+
1 row in set (0.00 sec)

MariaDB [(none)]> SELECT 1 XOR NULL;
+------------+
| 1 XOR NULL |
+------------+
|       NULL |
+------------+
1 row in set (0.00 sec)

MariaDB [(none)]> SELECT 1 XOR 1 XOR 1;
+---------------+
| 1 XOR 1 XOR 1 |
+---------------+
|             1 |
+---------------+
1 row in set (0.00 sec)

Operadores OR

m OR n    o    m || n

OR lógico. Cuando ambos operandos no NULL, el resultado es 
1 si cualquier operando es 1 y 0 en caso que los dos operandos
son 0. Con un operando NULL el resultado es 1 si el otro operando 
no es cero y NULL en caso contrario. Si ambos operandos son NULL, 
el resultado es NULL.
Tenga en cuenta que, si se establece el modo de SQL de PIPES_AS_CONCAT
se utiliza como un operador de concatenación de cadena. 
Esto significa que un  a || b es igual a CONCAT(a,b). 

MariaDB [(none)]> SELECT 1 || 1;
+--------+
| 1 || 1 |
+--------+
|      1 |
+--------+
1 row in set (0.00 sec)

MariaDB [(none)]> SELECT 1 OR 0;
+--------+
| 1 OR 0 |
+--------+
|      1 |
+--------+
1 row in set (0.00 sec)

MariaDB [(none)]> SELECT 0 || 0;
+--------+
| 0 || 0 |
+--------+
|      0 |
+--------+
1 row in set (0.00 sec)

MariaDB [(none)]> SELECT 0 || NULL;
+-----------+
| 0 || NULL |
+-----------+
|      NULL |
+-----------+
1 row in set (0.00 sec)

MariaDB [(none)]> SELECT 1 || NULL;
+-----------+
| 1 || NULL |
+-----------+
|         1 |
+-----------+
1 row in set (0.00 sec)
[[Category: CursoMatiaDB]