如何获取除法的商和余数

19

我有一个employee表,其中包含:

emp id      Sum
------      ---
1            7
2            6

我希望得到一个SQL查询,用于计算将Sum除以8所得的商和余数。


7
这仍然听起来像一个有效的问题。 - Salman A
6个回答

24

使用整数除法取模运算符来获取商和余数:

SELECT
    emp_id, 
    sum, 
    sum / 8 AS Result,
    sum div 8 AS Quotient,
    sum mod 8 AS Remainder
FROM employee
emp_id  sum  Result  Quotient  Remainder
1       7    0.8750  0         7
2       6    0.7500  0         6
3       9    1.1250  1         1
4       10   1.2500  1         2
5       11   1.3750  1         3
6       12   1.5000  1         4
7       13   1.6250  1         5
8       14   1.7500  1         6
9       15   1.8750  1         7
10      16   2.0000  2         0

3

如果您不关心商是浮点数还是整数(整数),则商的返回类型将是什么? 您可以尝试使用以下内容。

 SELECT 
       (sum / 8) AS qoutient, 
       (sum % 8) AS reminder 
  FROM employee

3

您可以使用%运算符获取余数。以下是一个例子。

SELECT Round(17 / 4) -- quotient without decimal   
SELECT 17 % 4 -- remainder

3

1

对于我的PL/SQL函数,我通常使用:

 SELECT trunc(sum/8) --- Quotient
 SELECT mod(sum/8) -- Remainder 

0

使用 floor 函数,从 dual 中选择 floor(column_name/divisor)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接