English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Operadores MySQL

En esta sección, presentamos los operadores y la prioridad de los operadores en MySQL. MySQL tiene principalmente los siguientes tipos de operadores:

  • operadores aritméticos

  • operadores de comparación

  • Operadores logicos

  • Operadores de bits

operadores aritméticos

Los operadores aritméticos admitidos por MySQL incluyen:

operadorEfecto
+suma
-resta
*multiplicación
/ o DIVdivisión
% o MODresto

en las operaciones de división y módulo, si el divisor es 0, será un divisor ilegal, y el resultado será NULL.

1suma

mysql> seleccionar 1+2;
+-----+
| 1+2 |
+-----+
|   3 |
+-----+

2resta

mysql> seleccionar 1-2;
+-----+
| 1-2 |
+-----+
|  -1 |
+-----+

3multiplicación

mysql> seleccionar 2*3;
+-----+
| 2*3 |
+-----+
|   6 |
+-----+

4división

mysql> seleccionar 2/3;
+--------+
| 2/3    |
+--------+
0.6667 |
+--------+

5cocijo

mysql> seleccionar 10 DIV 4;
+----------+
| 10 DIV 4 |
+----------+
|        2 |
+----------+

6resto

mysql> seleccionar 10 MOD 4;
+----------+
| 10 MOD 4 |
+----------+
|        2 |
+----------+

operadores de comparación

Las condiciones en las consultas SELECT a menudo necesitan usar operadores de comparación. A través de estos operadores de comparación, se puede determinar qué registros de la tabla cumplen con las condiciones. Si el resultado de la comparación es verdadero, se regresa 1si es falso, regresa 0, si el resultado de la comparación no es determinado, regresa NULL.

SímboloDescripciónNotas
=igual a
<>, !=distinto de
>mayor que
<menor que
<=menor o igual que
>=mayor o igual que
BETWEENestá entre los dos valores>=min && <=max
NOT BETWEENno está entre los dos valores
INestá en el conjunto
NOT INno está en el conjunto
<=>comparación estricta de dos valores NULL para ver si son igualesel valor obtenido es cuando ambos operadores son NULL1la valor obtenido es 0 cuando ambos operadores son NULL
LIKEcoincidencia borrosa
REGEXP o RLIKEcomparación de expresiones regulares
IS NULLnulo
IS NOT NULLno nulo

1igual a

mysql> seleccionar 2=3;
+-----+
| 2=3 |
+-----+
|                                                                         0 |
+-----+
mysql> select NULL = NULL;
+-------------+
| NULL = NULL |
+-------------+
| NULL |
+-------------+

2distinto de

mysql> seleccionar 2<>3;
+------+
| 2<>3 |
+------+
|    1 |
+------+

3igual a

La diferencia entre = y NULL reside en que cuando ambos operadores son NULL, el valor resultante es 1 no es NULL, mientras que un operando es NULL, su valor resultante es 0 no es NULL.

mysql> seleccionar 2<=>3;
+-------+
| 2<=>3 |
+-------+
| 0 |
+-------+
mysql> seleccionar NULL = NULL;
+-----------+
| NULL = NULL |
+-----------+
|                                                                         NULL |
+-----------+
        
mysql> seleccionar NULL <=> NULL;
+-------------+
| NULL <=> NULL |
+-------------+
|           1 |
+-------------+

4u menor que

mysql> seleccionar 2<3;
+-----+
| 2<3 |
+-----+
|   1 |
+-----+

5u menor o igual que

mysql> seleccionar 2<=3;
+------+
| 2<=3 |
+------+
|    1 |
+------+

6u mayor que

mysql> seleccionar 2>3;
+-----+
| 2>3 |
+-----+
|                                                                         0 |
+-----+

7u mayor o igual que

mysql> seleccionar 2>=3;
+------+
| 2>=3 |
+------+
|                                                                         0 |
+------+

8u ENTRE

mysql> seleccionar 5 entre 1 y 10;
+--------------------+
| 5 entre 1 y 10 |
+--------------------+
|                  1 |
+--------------------+

9u IN

mysql> seleccionar 5 en (1,2,3,4,5);
+------------------+
| 5 en (1,2,3,4,5) |
+------------------+
|                1 |
+------------------+

10u NOT IN

mysql> seleccionar 5 no en (1,2,3,4,5);
+----------------------+
| 5 no en (1,2,3,4,5) |
+----------------------+
|                                                                         0 |
+----------------------+

11u NULL

mysql> seleccionar NULL ES NULL;
+--------------+
| NULL ES NULL |
+--------------+
|            1 |
+--------------+
mysql> seleccionar 'a' ES NULL;
+-------------+
| 'a' ES NULL |
+-------------+
|                                                                         0 |
+-------------+

12u NO ES NULL

mysql> seleccionar NULL NO ES NULL;
+------------------+
| NULL NO ES NULL |
+------------------+
|                                                                         0 |
+------------------+
        
mysql> seleccionar 'a' NO ES NULL;
+-----------------+
| 'a' NO ES NULL |
+-----------------+
|               1 |
+-----------------+

13u LIKE

mysql> seleccionar ' |12345' como '12';
+--------------------+
| ' |12345' como '12'% |
+--------------------+
|                  1 |
+--------------------+
mysql> seleccionar ' |12345' como '12_';
+--------------------+
| ' |12345' como '12_ |
+--------------------+
|                                                                         0 |
+--------------------+

14u REGEXP

mysql> seleccionar 'beijing' REGEXP 'jing';
+-------------------------+
| 'beijing' REGEXP 'jing' |
+-------------------------+
|                       1 |
+-------------------------+
mysql> seleccionar 'beijing' REGEXP 'xi';
+-----------------------+
| 'beijing' REGEXP 'xi' |
+-----------------------+
|                                                                         0 |
+-----------------------+

Operadores logicos

Los operadores logicos se utilizan para determinar la veracidad de una expresion. Si la expresion es verdadera, el resultado devuelve 1Si la expresion es falsa, el resultado devuelve 0.

Símbolo de operadorEfecto
NOT o !No
ANDY logico
OROro logico
XOROro logico

1u y

mysql> seleccionar 2 y 0;
+---------+
| 2 y 0 |
+---------+
| 0 | 0 |
+---------+
        
mysql> seleccionar 2 y 1;   
+---------+     
| 2 y 1 |      
+---------+      
|       1 |      
+---------+

2u o

mysql> seleccionar 2 o 0;
+--------+
| 2 o 0 |
+--------+
|      1 |
+--------+
mysql> seleccionar 2 o 1;
+--------+
| 2 o 1 |
+--------+
|      1 |
+--------+
mysql> seleccionar 0 o 0;
+--------+
| 0 o 0 |
+--------+
| 0 |
+--------+
mysql> seleccionar 1 || 0;
+--------+
| 1 || 0 |
+--------+
|      1 |
+--------+

3、no

mysql> seleccionar no 1;
+-------+
no 1 |
+-------+
| 0 |
+-------+
mysql> seleccionar !0;
+----+
| !0 |
+----+
|  1 |
+----+

4、XOR

mysql> seleccionar 1 xor 1;
+---------+
| 1 xor 1 |
+---------+
| 0 | 0 |
+---------+
mysql> seleccionar 0 xor 0;
+---------+
| 0 xor 0 |
+---------+
| 0 | 0 |
+---------+
mysql> seleccionar 1 xor 0;
+---------+
| 1 xor 0 |
+---------+
|       1 |
+---------+
mysql> seleccionar null o 1;
+-----------+
| null o 1 |
+-----------+
|         1 |
+-----------+
mysql> seleccionar 1 ^ 0;
+-------+
| 1 ^ 0 |
+-------+
|     1 |
+-------+

Operadores de bits

Los operadores de bits son operadores que realizan cálculos en números binarios. Los cálculos de bits primero convierten los operandos en números binarios, realizan operaciones de bits y luego convierten el resultado de la conversión de número binario a decimal.

Símbolo de operadorEfecto
&Operación AND
|Operación OR
^Operación XOR
!Inversión
<<Desplazamiento a la izquierda
>>Desplazamiento a la derecha

1、operación AND

mysql> seleccionar 3&5;
+-----+
| 3&5 |
+-----+
|   1 |
+-----+

2、operación OR

mysql> seleccionar 3|5;
+-----+
| 3|5 |
+-----+
|   7 |
+-----+

3、operación XOR

mysql> seleccionar 3^5;
+-----+
| 3^5 |
+-----+
|   6 |
+-----+

4、inversión de bits

mysql> seleccionar ~18446744073709551612;
+-----------------------+
| ~18446744073709551612 |
+-----------------------+
|                     3 |
+-----------------------+

5、desplazamiento a la derecha

mysql> seleccionar 3>>1;
+------+
| 3>>1 |
+------+
|    1 |
+------+

6、desplazamiento a la izquierda

mysql> seleccionar 3<<1;
+------+
| 3<<1 |
+------+
|    6 |
+------+

Prioridad de operadores

La prioridad más baja es: :=。

La prioridad más alta es: !、BINARY、COLLATE。