MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Как MOD() работи в MariaDB

В MariaDB, MOD() е вградена функция, която връща модулната операция. Връща остатъка от първия си аргумент, разделен на втория си аргумент.

Синтаксис

Синтаксисът е така:

MOD(N,M)

Функцията връща остатъка от N разделено на M .

Операцията може да се извърши и с помощта на модулния оператор, така че можете да използвате и следните синтаксиси, за да постигнете същия резултат:

N % M
N MOD M

Пример

Ето пример за демонстрация:

SELECT MOD(9, 2);

Резултат:

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

Ето още няколко:

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

Резултат:

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

В сравнение с модулния оператор

Ето пример, който сравнява синтаксиса на функцията и операторите:

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

Резултат:

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

Нечислови аргументи

Ето пример за това какво се случва, когато предоставим нечислови аргументи:

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

Резултат:

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

Нека видим предупреждението:

SHOW WARNINGS;

Резултат:

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

Нулеви аргументи

MOD() връща null ако някой от аргументите е null :

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

Резултат:

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

Липсващи аргументи

Извикване на MOD() с грешен брой аргументи или без никакви аргументи води до грешка:

SELECT MOD();

Резултат:

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

И:

SELECT MOD(10, 2, 3);

Резултат:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDB JSON_CONTAINS() Обяснено

  2. Как работи SECOND() в MariaDB

  3. Как да върнете елементи от JSON масив в MariaDB

  4. MariaDB JSON_KEYS() Обяснено

  5. Как работи TIME() в MariaDB