當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


MySQL MOD()用法及代碼示例


MySQL中的MOD()函數用於查找一個數字除以另一個的餘數。 MOD()函數返回除數除以除數的餘數。如果除數為零,則返回NULL。

用法:

MOD(N, M)
or
N % M
or
N MOD M

參數:
MOD()函數接受上述和以下描述的兩個參數。

  • N -被除數,即將被M除的數字或數字表達式。
  • M -除數,即用於除數的數字或數字表達式。

返回值:
返回除數除以除數的餘數。

示例1:
使用MOD函數將36除以6後得到餘數。



SELECT MOD( 36, 6) AS Remainder;

輸出:

0

示例2:
使用模運算符(%)求出27的餘數除以4。

SELECT 27 % 4 AS Remainder;

輸出:

3

示例3:
使用MOD函數查找浮點數的餘數。

SELECT 10.15 MOD 3  AS Remainder;

輸出:

1.15

示例4:
當除數為0時,使用MOD函數查找數字的餘數。

SELECT MOD( 6, 0) AS Remainder;

輸出:

NULL

示例5:
MOD函數還可用於查找列數據的餘數值。在此示例中,我們將查找學生是否出現了奇數次的考試,甚至借助MOD函數。為了演示,創建一個名為“ Student”的表。

CREATE TABLE Student
(
    Student_id INT AUTO_INCREMENT,  
    Student_name VARCHAR(100) NOT NULL,
    Student_Class VARCHAR(20) NOT NULL,
    TotalExamGiven INT   NOT NULL,
    PRIMARY KEY(Student_id )

);

現在將一些數據插入到Student表中:

INSERT INTO Student
(Student_name, Student_Class, TotalExamGiven )
VALUES
    ('Sayan', 'IX', 8 ),
    ('Nitin', 'X',  5 ),
    ('Aniket', 'XI', 6 ),
    ('Abdur', 'X',  7 ),
    ('Riya', 'IX', 4 ),
    ('Jony', 'X', 10 ),
    ('Deepak', 'X',  7 ),
    ('Ankana', 'XII', 5 ),
    ('Shreya', 'X',  8 ) ;

因此,學生表如下。

mysql> SELECT * FROM Student;
+------------+--------------+---------------+----------------+
| Student_id | Student_name | Student_Class | TotalExamGiven |
+------------+--------------+---------------+----------------+
|          1 | Sayan        | IX            |              8 |
|          2 | Nitin        | X             |              5 |
|          3 | Aniket       | XI            |              6 |
|          4 | Abdur        | X             |              7 |
|          5 | Riya         | IX            |              4 |
|          6 | Jony         | X             |             10 |
|          7 | Deepak       | X             |              7 |
|          8 | Ankana       | XII           |              5 |
|          9 | Shreya       | X             |              8 |
+------------+--------------+---------------+----------------+
9 rows in set (0.00 sec)

現在,我們將查找學生是否出現了考試的總奇數甚至偶數。

SELECT 
    Student_name,
    Student_Class,
    TotalExamGiven,
    IF(MOD(TotalExamGiven, 2),
    'Odd','Even') 
    OddOrEven FROM Student ;    

輸出:

+--------------+---------------+----------------+-----------+
| Student_name | Student_Class | TotalExamGiven | OddOrEven |
+--------------+---------------+----------------+-----------+
| Sayan        | IX            |              8 | Even      |
| Nitin        | X             |              5 | Odd       |
| Aniket       | XI            |              6 | Even      |
| Abdur        | X             |              7 | Odd       |
| Riya         | IX            |              4 | Even      |
| Jony         | X             |             10 | Even      |
| Deepak       | X             |              7 | Odd       |
| Ankana       | XII           |              5 | Odd       |
| Shreya       | X             |              8 | Even      |
+--------------+---------------+----------------+-----------+

相關用法


注:本文由純淨天空篩選整理自jana_sayantan大神的英文原創作品 MOD() Function in MySQL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。