sql >> Databasteknik >  >> RDS >> MariaDB

Hur CEILING() fungerar i MariaDB

I MariaDB, CEILING() är en inbyggd numerisk funktion som returnerar det minsta heltalsvärdet inte mindre än dess argument.

Syntax

Syntaxen ser ut så här:

CEILING(X)

Där X är värdet att tillämpa operationen på.

Exempel

Här är ett exempel:

SELECT CEILING(2.34);

Resultat:

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

Att skicka ett negativt värde ger följande resultat:

SELECT CEILING(-2.34);

Resultat:

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

Jämfört med ROUND()

CEILING() funktionen skiljer sig från ROUND() fungera. ROUND() funktion skulle avrunda talet nedåt i vissa fall, medan CEILING() returnerar alltid det minsta heltalsvärdet inte mindre än dess argument.

SELECT 
    CEILING(2.34),
    ROUND(2.34);

Resultat:

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

Även ROUND() tillåter oss att ange antalet decimaler som ska avrundas till:

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

Resultat:

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

Icke-numeriska argument

Det här är vad som händer när vi tillhandahåller ett icke-numeriskt argument:

SELECT CEILING('Ten');

Resultat:

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

Låt oss kolla varningen:

SHOW WARNINGS;

Resultat:

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

Argument saknas

Anropar CEILING() utan argument resulterar i ett fel:

SELECT CEILING();

Resultat:

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

  1. Hur man använder stoppord och stopplista för att förbättra SQL Server Full-Text Search (FTS)

  2. Hur man hittar en databas ANSI_NULLS-inställning i SQL Server (T-SQL)

  3. SQL Server Fuzzy Search med Procent av matchning

  4. Anpassade triggerbaserade uppgraderingar för PostgreSQL