我有一个employee
表,其中包含:
emp id Sum
------ ---
1 7
2 6
我希望得到一个SQL查询,用于计算将Sum
除以8所得的商和余数。
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
如果您不关心商是浮点数还是整数(整数),则商的返回类型将是什么? 您可以尝试使用以下内容。
SELECT
(sum / 8) AS qoutient,
(sum % 8) AS reminder
FROM employee
您可以使用%
运算符获取余数。以下是一个例子。
SELECT Round(17 / 4) -- quotient without decimal
SELECT 17 % 4 -- remainder
您可以使用mysql的DIV函数来获取商(http://dev.mysql.com/doc/refman/5.0/en/arithmetic-functions.html#operator_div):
SELECT 14 DIV 3
将返回4
它应该可以解决问题
至于余下的部分,其他人已经回复了
对于我的PL/SQL函数,我通常使用:
SELECT trunc(sum/8) --- Quotient
SELECT mod(sum/8) -- Remainder
使用 floor 函数,从 dual 中选择 floor(column_name/divisor)