sql >> Base de Datos >  >> RDS >> MariaDB

Cómo funciona el TECHO () en MariaDB

En MariaDB, CEILING() es una función numérica incorporada que devuelve el valor entero más pequeño no menor que su argumento.

Sintaxis

La sintaxis es así:

CEILING(X)

Donde X es el valor al que aplicar la operación.

Ejemplo

He aquí un ejemplo:

SELECT CEILING(2.34);

Resultado:

+---------------+
| CEILING(2.34) |
+---------------+
|             3 |
+---------------+

Pasar un valor negativo produce el siguiente resultado:

SELECT CEILING(-2.34);

Resultado:

+----------------+
| CEILING(-2.34) |
+----------------+
|             -2 |
+----------------+

Comparado con ROUND()

El CEILING() la función es diferente a ROUND() función. El ROUND() redondearía el número hacia abajo en algunos casos, mientras que CEILING() siempre devuelve el valor entero más pequeño no menor que su argumento.

SELECT 
    CEILING(2.34),
    ROUND(2.34);

Resultado:

+---------------+-------------+
| CEILING(2.34) | ROUND(2.34) |
+---------------+-------------+
|             3 |           2 |
+---------------+-------------+

Además, ROUND() nos permite especificar el número de decimales a redondear:

SELECT 
    CEILING(2.34),
    ROUND(2.34, 1);

Resultado:

+---------------+----------------+
| CEILING(2.34) | ROUND(2.34, 1) |
+---------------+----------------+
|             3 |            2.3 |
+---------------+----------------+

Argumentos no numéricos

Esto es lo que sucede cuando proporcionamos un argumento no numérico:

SELECT CEILING('Ten');

Resultado:

+----------------+
| CEILING('Ten') |
+----------------+
|              0 |
+----------------+
1 row in set, 1 warning (0.001 sec)

Revisemos la advertencia:

SHOW WARNINGS;

Resultado:

+---------+------+-----------------------------------------+
| Level   | Code | Message                                 |
+---------+------+-----------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'Ten' |
+---------+------+-----------------------------------------+

Argumentos faltantes

Llamando a CEILING() sin un argumento da como resultado un error:

SELECT CEILING();

Resultado:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CEILING'