MariaDB
 sql >> Database >  >> RDS >> MariaDB

Come funziona CEILING() in MariaDB

In MariaDB, CEILING() è una funzione numerica incorporata che restituisce il valore intero più piccolo non inferiore al suo argomento.

Sintassi

La sintassi è questa:

CEILING(X)

Dove X è il valore a cui applicare l'operazione.

Esempio

Ecco un esempio:

SELECT CEILING(2.34);

Risultato:

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

Il passaggio di un valore negativo produce il seguente risultato:

SELECT CEILING(-2.34);

Risultato:

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

Rispetto a ROUND()

Il CEILING() la funzione è diversa da ROUND() funzione. Il ROUND() funzione arrotonda il numero per difetto in alcuni casi, mentre CEILING() restituisce sempre il valore intero più piccolo non inferiore al suo argomento.

SELECT 
    CEILING(2.34),
    ROUND(2.34);

Risultato:

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

Inoltre, ROUND() ci consente di specificare il numero di cifre decimali da arrotondare a:

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

Risultato:

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

Argomenti non numerici

Ecco cosa succede quando forniamo un argomento non numerico:

SELECT CEILING('Ten');

Risultato:

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

Controlliamo l'avviso:

SHOW WARNINGS;

Risultato:

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

Argomenti mancanti

Chiamando CEILING() senza un argomento genera un errore:

SELECT CEILING();

Risultato:

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