sql >> Databáze >  >> RDS >> MariaDB

Jak MOD() funguje v MariaDB

V MariaDB, MOD() je vestavěná funkce, která vrací operaci modulo. Vrátí zbytek svého prvního argumentu dělený druhým argumentem.

Syntaxe

Syntaxe vypadá takto:

MOD(N,M)

Funkce vrátí zbytek N děleno M .

Operaci lze také provést pomocí operátoru modulo, takže k dosažení stejného výsledku můžete použít také následující syntaxe:

N % M
N MOD M

Příklad

Zde je příklad k demonstraci:

SELECT MOD(9, 2);

Výsledek:

+-----------+
| MOD(9, 2) |
+-----------+
|         1 |
+-----------+

Zde jsou některé další:

SELECT 
    MOD(8, 2),
    MOD(134, 6),
    MOD(9, 5),
    MOD(9, 10);

Výsledek:

+-----------+-------------+-----------+------------+
| MOD(8, 2) | MOD(134, 6) | MOD(9, 5) | MOD(9, 10) |
+-----------+-------------+-----------+------------+
|         0 |           2 |         4 |          9 |
+-----------+-------------+-----------+------------+

Ve srovnání s operátorem Modulo

Zde je příklad, který porovnává syntaxe napříč funkcí a operátory:

SELECT 
    MOD(9, 2),
    9 % 2,
    9 MOD 2;

Výsledek:

+-----------+-------+---------+
| MOD(9, 2) | 9 % 2 | 9 MOD 2 |
+-----------+-------+---------+
|         1 |     1 |       1 |
+-----------+-------+---------+

Nečíselné argumenty

Zde je příklad toho, co se stane, když poskytneme nečíselné argumenty:

SELECT MOD('Homer', 'Symptom');

Výsledek:

+-------------------------+
| MOD('Homer', 'Symptom') |
+-------------------------+
|                    NULL |
+-------------------------+
1 row in set, 3 warnings (0.005 sec)

Podívejme se na varování:

SHOW WARNINGS;

Výsledek:

+---------+------+---------------------------------------------+
| Level   | Code | Message                                     |
+---------+------+---------------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'Homer'   |
| Warning | 1292 | Truncated incorrect DOUBLE value: 'Symptom' |
| Warning | 1365 | Division by 0                               |
+---------+------+---------------------------------------------+

Nulové argumenty

MOD() vrátí null pokud je některý argument null :

SELECT 
    MOD(null, 2),
    MOD(9, null),
    MOD(null, null);

Výsledek:

+--------------+--------------+-----------------+
| MOD(null, 2) | MOD(9, null) | MOD(null, null) |
+--------------+--------------+-----------------+
|         NULL |         NULL |            NULL |
+--------------+--------------+-----------------+

Chybí argumenty

Volání MOD() s nesprávným počtem argumentů nebo bez jakýchkoli argumentů vede k chybě:

SELECT MOD();

Výsledek:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

A:

SELECT MOD(10, 2, 3);

Výsledek:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' 3)' at line 1

  1. SSMS verze 18 – žádné databázové diagramy

  2. Jak vytvořit soubor protokolu v Oracle pomocí PL/SQL?

  3. Jak vytvořím generátor řádků v MySQL?

  4. Instalace Odoo na Mac nemohla provést příkaz LESSC