MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Como CEILING() funciona no MariaDB


No MariaDB, CEILING() é uma função numérica interna que retorna o menor valor inteiro não menor que seu argumento.

Sintaxe


A sintaxe fica assim:
CEILING(X)

Onde X é o valor ao qual aplicar a operação.

Exemplo


Aqui está um exemplo:
SELECT CEILING(2.34);

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

Passar um valor negativo produz o seguinte resultado:
SELECT CEILING(-2.34);

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

Comparado com ROUND()


O CEILING() função é diferente da ROUND() função. O ROUND() função arredondaria o número para baixo em alguns casos, enquanto CEILING() sempre retorna o menor valor inteiro não menor que seu argumento.
SELECT 
    CEILING(2.34),
    ROUND(2.34);

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

Além disso, ROUND() nos permite especificar o número de casas decimais para arredondar:


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

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

Argumentos não numéricos


Veja o que acontece quando fornecemos um argumento não numérico:
SELECT CEILING('Ten');

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

Vamos verificar o aviso:
SHOW WARNINGS;

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

Argumentos ausentes


Chamando CEILING() sem um argumento resulta em um erro:
SELECT CEILING();

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