English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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
Los operadores aritméticos admitidos por MySQL incluyen:
operador | Efecto |
---|---|
+ | suma |
- | resta |
* | multiplicación |
/ o DIV | división |
% o MOD | resto |
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 | +----------+
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ímbolo | Descripción | Notas |
---|---|---|
= | igual a | |
<>, != | distinto de | |
> | mayor que | |
< | menor que | |
<= | menor o igual que | |
>= | mayor o igual que | |
BETWEEN | está entre los dos valores | >=min && <=max |
NOT BETWEEN | no está entre los dos valores | |
IN | está en el conjunto | |
NOT IN | no está en el conjunto | |
<=> | comparación estricta de dos valores NULL para ver si son iguales | el valor obtenido es cuando ambos operadores son NULL1la valor obtenido es 0 cuando ambos operadores son NULL |
LIKE | coincidencia borrosa | |
REGEXP o RLIKE | comparación de expresiones regulares | |
IS NULL | nulo | |
IS NOT NULL | no 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 | +-----------------------+
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 operador | Efecto |
---|---|
NOT o ! | No |
AND | Y logico |
OR | Oro logico |
XOR | Oro 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 | +-------+
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 operador | Efecto |
---|---|
& | 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 | +------+
La prioridad más baja es: :=。
La prioridad más alta es: !、BINARY、COLLATE。