sql >> Databasteknik >  >> RDS >> MariaDB

Hur DIV fungerar i MariaDB

I MariaDB, DIV utför heltalsdelning.

Den kastar bort från divisionsresultatet alla bråkdelar till höger om decimalkomma.

Syntax

Syntaxen ser ut så här:

DIV

Där talet att dividera är till vänster och talet att dividera det med är till höger.

Exempel

Här är ett exempel:

SELECT 100 DIV 2;

Resultat:

+-----------+
| 100 DIV 2 |
+-----------+
|        50 |
+-----------+

Bråkresultat

Som nämnts, DIV kasserar från delningsresultatet någon bråkdel till höger om decimalkomman.

Exempel:

SELECT 100 DIV 3;

Resultat:

+-----------+
| 100 DIV 3 |
+-----------+
|        33 |
+-----------+

Division med noll

Om ERROR_FOR_DIVISION_BY_ZERO SQL-läge är inte inställt, division med noll returnerar NULL med en varning. Om inställt, returnerar division med noll ett fel om man försöker uppdatera en kolumn med 1/0 och returnerar också en varning.

Här är ett exempel på en NULL resultat:

SELECT 100 DIV 0;

Resultat:

+-----------+
| 100 DIV 0 |
+-----------+
|      NULL |
+-----------+
1 row in set, 1 warning (0.001 sec)

Låt oss kolla varningen:

SHOW WARNINGS;

Resultat:

+---------+------+---------------+
| Level   | Code | Message       |
+---------+------+---------------+
| Warning | 1365 | Division by 0 |
+---------+------+---------------+

Ogiltiga operander

Att använda ogiltiga operander resulterar i NULL med en varning:

SELECT 'One' DIV 'Two';

Resultat:

+-----------------+
| 'One' DIV 'Two' |
+-----------------+
|            NULL |
+-----------------+
1 row in set, 3 warnings (0.013 sec)

Kontrollera varningarna:

SHOW WARNINGS;

Resultat:

+---------+------+------------------------------------------+
| Level   | Code | Message                                  |
+---------+------+------------------------------------------+
| Warning | 1292 | Truncated incorrect DECIMAL value: 'One' |
| Warning | 1292 | Truncated incorrect DECIMAL value: 'Two' |
| Warning | 1365 | Division by 0                            |
+---------+------+------------------------------------------+

  1. Valfritt argument i PL/pgSQL-funktionen

  2. Oracle:Kombinera flera resultat i en underfråga till ett enda kommaseparerat värde

  3. Objektet i klassen DateTime kunde inte konverteras till sträng

  4. MariaDB MINUS Operatör förklaras