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 |
+--------------+---------------+----------------+-----------+