MySQL除法取整大解析

发布时间:2023-05-17

一、MySQL除法取整规则

MySQL中除法取整函数有两种:DIVFLOOR

  • DIV函数返回除法结果的整数部分,即向下取整;
  • FLOOR函数返回小于等于除法结果的最大整数。
SELECT 5 DIV 2; -- 返回2
SELECT FLOOR(5/2); -- 返回2
SELECT 5/2; -- 返回2.5

二、C语言除法取整规则

C语言中除法取整规则与MySQL相同。

  • C语言中,整数相除只保留整数部分,而不会自动转化为浮点数。
int a = 5, b = 2;
printf("%d\n", a/b); // 输出2

三、Python除法取整

Python中的除法有两种:

  • 普通除法:/,返回浮点数结果;
  • 取整除法://,返回除法结果的整数部分,即向下取整。
print(5//2) # 输出2
print(5/2) # 输出2.5

四、除法取整函数

除了MySQL的DIVFLOOR函数,许多编程语言也提供了除法取整函数或方法。

  • PHPintval()函数返回除法结果的整数部分,可达到向下取整效果。
  • JavaScriptMath.floor()方法返回小于等于除法结果的最大整数。
  • JavaMath.floorDiv()方法返回除法结果的整数部分,即向下取整。
// PHP
echo intval(5/2); // 输出2
// JavaScript
console.log(Math.floor(5/2)); // 输出2
// Java
System.out.println(Math.floorDiv(5,2)); // 输出2

五、Excel除法取整

Excel中的除法运算使用/符号,想要向下取整,则需要使用QUOTIENT函数或INT函数。

  • QUOTIENT函数返回除法结果的整数部分,即向下取整;
  • INT函数向下取整后取整数部分。
=QUOTIENT(5,2) // 返回2
=INT(5/2) // 返回2

六、C语言除法取整和取余

C语言中的除法运算还有另外一种操作符:%

  • a%b表示a除以b的余数,即取模运算。
int a = 5, b = 2;
printf("%d %d\n", a/b, a%b); // 输出2 1

七、MATLAB除法取整取余

MATLAB中的除法操作符为/,可以得到浮点数结果。

  • 向下取整,可以使用fix()floor()函数;
  • 取余,可以使用rem()mod()函数。
a = 5;
b = 2;
disp(fix(a/b)); % 输出2
disp(rem(a,b)); % 输出1

八、MySQL除法函数

MySQL中还有两个函数可以返回除法的结果,即ROUNDTRUNCATE,与PHP中的round()truncate()函数类似。

  • ROUND函数可实现舍入取整;
  • TRUNCATE函数可实现截取取整。
SELECT ROUND(5.5/2); -- 返回3
SELECT TRUNCATE(5.5/2,0); -- 返回2

九、C语言中除法取整的表示

C语言中的自然除法运算/只保留整数部分,如果要实现向下取整,则需要加上强制类型转换。

int a = 5, b = 2;
printf("%d\n", (int)floor(a/(float)b)); // 输出2

十、MySQL取整函数

除了DIVFLOOR函数之外,MySQL中还有其他取整函数,如CEILINGROUND

  • CEILING函数返回大于等于参数的最小整数;
  • ROUND函数可实现四舍五入取整。
SELECT CEILING(2.2), ROUND(2.6); -- 返回3,返回3