SQL Server (Transact-SQL) %(取模)运算符用于计算除法运算的余数。它对数值进行运算。
下面的示例描述了如何在各种条件下使用取模运算符:
示例:
考虑一个名为Employee 的数据库表示例包含以下记录:
Data | Var1 | Var2 |
---|---|---|
Data1 | 10 | 1 |
Data2 | 15 | 2 |
Data3 | 20 | 3 |
Data4 | 25 | 4 |
Data5 | 30 | 5 |
Data6 | 35 | 6 |
与 WHERE 子句一起使用:选择表中的记录其中 Var1 列值可被 Var2 列值整除,查询如下。
SELECT * FROM Sample
WHERE Var1 % Var2 == 0;
查询将产生以下结果:
Data | Var1 | Var2 |
---|---|---|
Data1 | 10 | 1 |
Data5 | 30 | 5 |
与AS子句一起使用:使用AS可以将Var1 % Var2运算的值显示在不同的列中子句:
SELECT *, (Var1 % Var2) AS Remainder FROM Sample;
查询将产生以下结果:
Data | Var1 | Var2 | Remainder |
---|---|---|---|
Data1 | 10 | 1 | 0 |
Data2 | 15 | 2 | 1 |
Data3 | 20 | 3 | 2 |
Data4 | 25 | 4 | 1 |
Data5 | 30 | 5 | 0 |
Data6 | 35 | 6 | 5 |
与 UPDATE 子句一起使用:更新将Var1列与Var1 % Var2运算,查询如下:
UPDATE Sample
SET Var1 = Var1 % Var2;
--查看结果
SELECT * FROM Sample;
查询将产生以下结果:
Data | Var1 | Var2 |
---|---|---|
Data1 | 0 | 1 |
Data2 | 1 | 2 |
Data3 | 2 | 3 |
Data4 | 1 | 4 |
Data5 | 0 | 5 |
Data6 | 5 | 6 |
使用值:要计算除法运算的余数,我们可以简单地使用 SELECT 语句:
SELECT 100 % 60;
查询将产生以下结果:
40
(1 row(s) affected)