Curso de MariaDB Desde la Consola/Precedencia de operadores
Ir a la navegación
Ir a la búsqueda
Precedencia de operdores
1 INTERVAL
2 BINARY, COLLATE
3 !
4 - (unary minus), [[bitwise-not|bitwise-not]] (unary bit inversion)
5 || (string concatenation)
6 ^
7 *, /, DIV, %, MOD
8 -, +
9 <<, >>
10 &
11 |
12 = (comparison), <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
13 BETWEEN, CASE, WHEN, THEN, ELSE, END
14 NOT
15 &&, AND
16 XOR
17 || (logical or), OR
18 = (assignment), :=
19
20 Precedencia de las funciones es siempre superior a la precedencia
21 de los operadores.
22
23 En esta página el CASE se refiere al operador CASE, no al
24 Declaración del CASE.
25
26 Si el HIGH_NOT_PRECEDENCE SQL_MODE se establece,
27 NOT tiene la misma precedencia como '!'.
28
29 La precedencia del || operador, así como su significado, depende de
30 la bandera de PIPES_AS_CONCAT SQL_MODE: Si está encendido, || se puede
31 utilizar para concatenar cadenas (como la función CONCAT()) y tiene
32 una mayor prioridad.
33
34 Pueden utilizar paréntesis para modificar la precedencia de los
35 operadores en una expresión.
36
37 La precedencia del '=' operador depende del contexto:
38 es mayor cuando '=' se utiliza como un operador de comparación.
39
40 Short-circuit evaluation
41
42 Los AND, OR, && y || operadores soportan evaluación de short-circuit.
43 Esto significa que, en algunos casos, la expresión a la derecha de los
44 operadores no se evalúa, porque su resultado no puede afectar el resultado.
45 Evaluación de short-circuit sw utiliza en los siguientes casos
46 y x() no es evaluado:
47
48 FALSE AND x()
49 FALSE && x()
50 TRUE OR x()
51 TRUE || x()
52 NULL BETWEEN x() AND x()
53
54 Nota sin embargo que la evaluación de short-circuit no se aplica a NULL
55 y x(). Además, los operandos de la derecha de BETWEEN
56 no se evalúan si el operando del izquierda es NULL, pero en los demás
57 casos se evalúan todos los operandos.
58
59 Esto es una optimización de la velocidad. También, puesto que las funciones
60 pueden tener efectos secundarios, este comportamiento se puede utilizar para
61 elegir si ejecutar ellos o no usando un sintaxis concisa:
62
63 SELECT alguna_funcción() OR log_error();