Curso de MariaDB Desde la Consola/OperadoresAritméticos
Ir a la navegación
Ir a la búsqueda
- Operadores Aritméticos
- Operador de Adición
- Operador División de enteros
- Operador de División
- Operador de Modulo
- Operador de Multiplicación
- Operador de Sustracción
Operadores Aritméticos
Operador de Adición
1 +
2
3 Si ambos operandos son enteros, el resultado se calcula con
4 precisión BIGINT. Si cualquier número entero sin signo, el
5 resultado también es un entero sin signo.
6 Para operandos reales o de cadena, operando con la máxima
7 precisión determina la precisión del resultado.
8
9 MariaDB [Prueba1]> SELECT 3+5;
10 +-----+
11 | 3+5 |
12 +-----+
13 | 8 |
14 +-----+
15 1 row in set (0.00 sec)
Operador División de enteros
1 DIV
2
3 Similar a FLOOR(), pero es seguro
4 con valores BIGINT. Resultados incorrectos pueden ocurrir
5 para operandos no enteros que exceden la gama BIGINT.
6 Si se utiliza el ERROR de división por cero modo SQL,
7 una división por cero produce un error. De lo contrario,
8 devuelve NULL.
9 El resto de una división puede obtenerse usando el
10 operador MOD.
11
12 MariaDB [Prueba1]> SELECT 300 DIV 7;
13 +-----------+
14 | 300 DIV 7 |
15 +-----------+
16 | 42 |
17 +-----------+
18 1 row in set (0.00 sec)
19
20 MariaDB [Prueba1]> SELECT 300 DIV 0;
21 +-----------+
22 | 300 DIV 0 |
23 +-----------+
24 | NULL |
25 +-----------+
26 1 row in set (0.00 sec)
Operador de División
1 /
2
3 Dividir por cero, devolverá NULL.
4 De forma predeterminada, devuelve cuatro dígitos
5 después del decimal. Esto está determinado por el
6 incremento de precisión de div variable de sistema
7 de servidor que por defecto es cuatro.
8 Puede ajustarse de 0 a 30.
9 Si se utiliza el ERROR de división por cero modo SQL,
10 una división por cero produce un error.
11 De lo contrario, devuelve NULL.
12
13 MariaDB [Prueba1]> SELECT 4/5;
14 +--------+
15 | 4/5 |
16 +--------+
17 | 0.8000 |
18 +--------+
19 1 row in set (0.00 sec)
20
21 MariaDB [Prueba1]> SELECT 300/(2-2);
22 +-----------+
23 | 300/(2-2) |
24 +-----------+
25 | NULL |
26 +-----------+
27 1 row in set (0.00 sec)
28
29 MariaDB [Prueba1]> SELECT 300/7;
30 +---------+
31 | 300/7 |
32 +---------+
33 | 42.8571 |
34 +---------+
35 1 row in set (0.00 sec)
36
37 MOD(N,M), N % M, N MOD M
Operador de Modulo
1 %, MOD
2
3 Devuelve el resto de N dividido por M.
4 Si se utiliza el ERROR de división por cero
5 modo SQL, cualquier módulo número cero produce
6 un error. De lo contrario, devuelve NULL.
7 La parte entera de una división puede obtenerse
8 utilizando DIV.
9
10 MariaDB [Prueba1]> SELECT 1042 % 50;
11 +-----------+
12 | 1042 % 50 |
13 +-----------+
14 | 42 |
15 +-----------+
16 1 row in set (0.00 sec)
17
18 MariaDB [Prueba1]> SELECT MOD(234, 10);
19 +--------------+
20 | MOD(234, 10) |
21 +--------------+
22 | 4 |
23 +--------------+
24 1 row in set (0.00 sec)
25
26 MariaDB [Prueba1]> SELECT 29 MOD 9;
27 +----------+
28 | 29 MOD 9 |
29 +----------+
30 | 2 |
31 +----------+
32 1 row in set (0.00 sec)
Operador de Multiplicación
1 *
2
3 MariaDB [Prueba1]> SELECT 7*6;
4 +-----+
5 | 7*6 |
6 +-----+
7 | 42 |
8 +-----+
9 1 row in set (0.00 sec)
10
11 MariaDB [Prueba1]> select 32.55 * -3.55 ;
12 +---------------+
13 | 32.55 * -3.55 |
14 +---------------+
15 | -115.5525 |
16 +---------------+
17 1 row in set (0.00 sec)
18
19 MariaDB [Prueba1]> SELECT 1234567890*9876543210;
20 ERROR 1690 (22003): BIGINT value is out of range
21 in '(1234567890 * 9876543210)'
Operador de Sustracción
1 -
2
3 Operador de Sustracción también se utiliza como el operador
4 unario menos para el cambio de signo.
5 Si ambos operandos son enteros, el resultado se calcula
6 con precisión BIGINT. Si cualquier número entero sin signo,
7 el resultado también es un entero sin signo, a menos que el
8 modo de SQL de resta sin firmar NO está habilitado, en cuyo
9 caso el resultado siempre es firmado.
10 Para operandos reales o de cadena, operando con la máxima
11 precisión determina la precisión del resultado.
12
13 MariaDB [Prueba1]> SELECT 96-9;
14 +------+
15 | 96-9 |
16 +------+
17 | 87 |
18 +------+
19 1 row in set (0.00 sec)
20
21 MariaDB [Prueba1]> SELECT 15-17;
22 +-------+
23 | 15-17 |
24 +-------+
25 | -2 |
26 +-------+
27 1 row in set (0.00 sec)
28
29 Usado como operador Unario
30
31 MariaDB [Prueba1]> SELECT - (3+5);
32 +---------+
33 | - (3+5) |
34 +---------+
35 | -8 |
36 +---------+
37 1 row in set (0.01 sec)