SQL MOD函数
MOD是SQL中的一个字符串函数,它返回第一个数字除以第二个数字的余数。
MOD函数的语法
SELECT MOD(Number1, Number2) AS Alias_Name;
在MOD语法中,Number1是被除数,Number2是除数。
在结构化查询语言中,我们还可以使用MOD函数与表格的列一起使用,如下所示的代码块:
SELECT MOD(Column_Name1, Column_Name2) AS Alias_Name FROM Table_Name;
在这个语法中,我们必须定义我们想要执行MOD函数的表的名称和列。
MOD函数的示例
示例1: 这个例子通过将101除以4得到余数:
SELECT MOD(101, 4) AS Division_of_101by4;
输出:
Division_of_101by4
---
1
示例 2: 这个示例将101除以4,并将余数返回到结果中:
SELECT MOD(2, 2) AS Division_of_2by2;
输出:
Division_of_2by2
---
0
示例 3: 该示例将8除以5,并将余数返回至结果中:
SELECT MOD(8, 5) AS Division_of_8by5;
输出:
Division_of_8by5
---
3
示例 4: 这个示例将255除以200,并将余数返回到结果中:
SELECT MOD(255, 200) AS Division_of_255by200;
输出:
Division_of_255by200
---
55
示例 5: 这个例子使用SQL表中的MOD函数。
在这个例子中,我们将通过新建表来对表的列执行MOD函数:
以下展示了使用SQL创建新表的语法:
CREATE TABLE Name_of_New_Table
(
First_Column_of_table Data Type (character_size of First Column),
Second_Column_of_table Data Type (character_size of the Second column ),
Third_Column_of_table Data Type (character_size of the Third column),
.......,
Last_Column_of_table Data Type (character_size of the Last column)
);
下面的CREATE语句创建了用于存储产品价格和数量的 Product_Details 表:
CREATE TABLE Product_Details
(
Product_ID INT NOT NULL,
Product_Name Varchar(50),
Product_Quantity INT,
Purchasing_Price INT,
Selling_Price INT,
Release_Date Date,
Product_Rating INT
);
以下这些多个INSERT查询将产品记录以及它们的销售价格和购买价格插入到Product_Details表中:
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (104, P1, 10, 945, NULL, 2022-04-30, NULL);
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (202, P4, 15, 45, 75, 2022-01-28, 5);
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (103, P2, 18, 25, NULL, 2022-02-18, 4);
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (111, P7, 25, 5, 15, 2021-12-25, 9);
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (210, P6, 15, 50, 70, 2021-10-15, NULL);
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (212, P8, 19, 110, 250, 2022-01-28, 4);
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (112, P10, 10, 550, 835, 2022-04-11, NULL);
以下 SELECT 语句显示了上述 Product_Details 表中插入的记录:
SELECT * FROM Product_Details;
Product_ID | Product_Name | Product_Quantity | Purchasing_Price | Selling_Price | Release_Date | Product_Rating |
---|---|---|---|---|---|---|
104 | P1 | 10 | 945 | NULL | 2022-04-30 | NULL |
202 | P4 | 15 | 45 | 75 | 2022-01-28 | 5 |
103 | P2 | 18 | 25 | NULL | 2022-02-18 | 4 |
111 | P7 | 25 | 5 | 15 | 2021-12-25 | 9 |
210 | P6 | 15 | 50 | 70 | 2021-10-15 | NULL |
212 | P8 | 19 | 110 | 250 | 2022-01-28 | 4 |
112 | P10 | 10 | 550 | 835 | 2022-04-11 | NULL |
查询1: 以下SELECT查询使用了上述Product_Details表的Product_Quantity列的MOD函数:
SELECT Product_ID, MOD(Product_ID, 100) AS Division_of_ProductID_by100 FROM Product_Details;
这个查询将每个product_id除以100,并返回除法后的余数。
输出:
Product_ID | Division_of_ProductID_by100 |
---|---|
104 | 4 |
202 | 2 |
103 | 3 |
111 | 11 |
210 | 10 |
212 | 12 |
112 | 12 |
查询2: 以下SELECT查询使用上述Product_Details表中的Purchasing_Price和Selling_Price列的MOD函数:
SELECT Purchasing_Price, Product_Quantity, MOD(Purchasing_Price, Product_Quantity) AS Division_ofpurhcaseprice, Selling_Price, Product_Quantity, MOD(Selling_Price) AS Division_of_SellingPrice FROM Product_Details;
这个查询将每个产品的采购价和销售价除以产品数量,并返回余数。
输出:
Purchasing_Price | Product_Quantity | Division_ofpurhcaseprice | Selling_Price | Product_Quantity | Division_ofsellingprice |
---|---|---|---|---|---|
945 | 10 | 5 | NULL | 10 | - |
45 | 15 | 0 | 75 | 15 | 0 |
25 | 18 | 7 | NULL | 18 | - |
5 | 25 | 5 | 15 | 25 | 15 |
50 | 15 | 5 | 70 | 15 | 10 |
110 | 19 | 15 | 250 | 19 | 3 |
550 | 10 | 0 | 835 | 10 | 5 |
查询3: 以下SELECT查询使用了上述Product_Details表的Product_Rating列的MOD函数:
SELECT MOD(Product_Rating, 2) AS Division_ofratingby2 FROM Product_Details;
这个查询将产品的每个评级除以2,并返回除法后的余数。
输出:
Product_Rating | Division_ofratingby2 |
---|---|
NULL | - |
5 | 1 |
4 | 0 |
9 | 1 |
NULL | - |
4 | 0 |
NULL | - |