函数功能
FLOOR(x)
返回小于或等于 x
的最大整数。这个函数也称为"地板函数"。
语法
规则与示例
输入 | 返回值 | 说明 |
---|---|---|
正小数 | 向下取整 |
|
负小数 | 向负无穷方向取整 |
|
整数 | 它本身 |
|
|
|
|
实际应用示例
假设我们有一个 sales
表,记录销售金额:
id | product_name | price | quantity |
---|---|---|---|
1 | 笔记本电脑 | 2999.99 | 2 |
2 | 鼠标 | 149.50 | 5 |
3 | 键盘 | 399.00 | 3 |
4 | 显示器 | 1799.75 | 1 |
1. 直接计算地板值
查询结果:
price | floor_price |
---|---|
2999.99 | 2999 |
149.50 | 149 |
399.00 | 399 |
1799.75 | 1799 |
2. 计算整数数量
计算每种产品至少需要多少整箱包装(假设每箱装10个):
3. 价格去零处理
将所有价格去掉小数部分:
4. 与 CEILING() 对比
重要注意事项
- 1.
返回值类型:
FLOOR()
返回的值类型与输入参数的类型相同。
- •
如果
x
是整数,返回整数 - •
如果
x
是浮点数,返回浮点数(但值为整数)
- 2.
精度问题:对于浮点数,由于浮点运算的特性,可能会有精度问题。
- 3.
字符串转换:如果参数是字符串,MySQL 会尝试将其转换为数字。
- 4.
与 ROUND() 的区别:
- •
FLOOR()
总是向下取整 - •
ROUND()
进行四舍五入 - 5.
与 TRUNCATE() 的区别:
- •
FLOOR()
是数学上的向下取整 - •
TRUNCATE()
是直接截断小数部分
应用场景总结
- 1.
价格处理:去掉价格的小数部分
- 2.
分页计算:计算总页数
- 3.
年龄计算:计算整岁年龄
- 4.
装箱计算:计算完整箱数
- 5.
数据分组:将连续数据离散化
总结
- •
用途:向下取整,获取不大于原数的最大整数
- •
正数:向零方向取整
- •
负数:向负无穷方向取整(与
CEILING()
相反) - •
适用场景:价格调整、数量计算、需要确保"不超过"某个数量的场景
这个函数在处理需要截断小数部分或向下舍入的业务逻辑时非常有用。

优网科技秉承"专业团队、品质服务" 的经营理念,诚信务实的服务了近万家客户,成为众多世界500强、集团和上市公司的长期合作伙伴!
优网科技成立于2001年,擅长网站建设、网站与各类业务系统深度整合,致力于提供完善的企业互联网解决方案。优网科技提供PC端网站建设(品牌展示型、官方门户型、营销商务型、电子商务型、信息门户型、微信小程序定制开发、移动端应用(手机站、APP开发)、微信定制开发(微信官网、微信商城、企业微信)等一系列互联网应用服务。