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

Jak funguje modulo operátor v MariaDB

V MariaDB je operátor modulo (% ) vrátí operaci modulo. Vrátí zbytek svého prvního argumentu dělený druhým argumentem.

Syntaxe

Syntaxe vypadá takto:

N % M

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

Operaci lze také provést pomocí MOD klíčové slovo a MOD() funkce. K dosažení stejného výsledku tedy můžete použít následující syntaxe:

MOD(N,M)
N MOD M

Příklad

Zde je příklad pro demonstraci operátoru modulo:

SELECT 9 % 2;

Výsledek:

+-------+
| 9 % 2 |
+-------+
|     1 |
+-------+

Zde jsou některé další:

SELECT 
    8 % 2,
    134 % 27,
    9 % 5,
    9 % 10;

Výsledek:

+-------+----------+-------+--------+
| 8 % 2 | 134 % 27 | 9 % 5 | 9 % 10 |
+-------+----------+-------+--------+
|     0 |       26 |     4 |      9 |
+-------+----------+-------+--------+

Ve srovnání s MOD &MOD()

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

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

Výsledek:

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

Nečíselné argumenty

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

SELECT 'Bird' % 'Dog';

Výsledek:

+----------------+
| 'Bird' % 'Dog' |
+----------------+
|           NULL |
+----------------+
1 row in set, 3 warnings (0.000 sec)

Podívejme se na varování:

SHOW WARNINGS;

Výsledek:

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

Nulové operandy

Výsledek je null pokud je některý z operandů null :

SELECT 
    null % 2,
    134 % null,
    null % null;

Výsledek:

+----------+------------+-------------+
| null % 2 | 134 % null | null % null |
+----------+------------+-------------+
|     NULL |       NULL |        NULL |
+----------+------------+-------------+

  1. Maximální délka textu typu MySQL

  2. Jak převedu celé číslo na řetězec jako součást dotazu PostgreSQL?

  3. Výkon SQL na LEFT OUTER JOIN vs. NEEXISTUJE

  4. Oracle Rozdíly mezi NVL a Coalesce