广州总部电话:020-85564311
广州总部电话:020-85564311
20年
互联网应用服务商
请输入搜索关键词
知识库 知识库

优网知识库

探索行业前沿,共享知识宝库

FLOOR(x)是 MySQL 中的一个数学函数,用于向下取整

发布日期:2025-09-01 15:35:36 浏览次数: 830 来源:91爱上生活
推荐语
MySQL中的FLOOR函数:精准掌握向下取整的实用技巧,轻松处理各类数值计算场景。

核心内容:
1. FLOOR函数的基本语法与核心功能解析
2. 实际应用场景示例(价格处理、包装计算等)
3. 重要注意事项(精度问题、类型转换、与其他函数的对比)
小优 网站建设顾问
专业来源于二十年的积累,用心让我们做到更好!

函数功能

FLOOR(x)返回小于或等于 x的最大整数。这个函数也称为"地板函数"。

语法

FLOOR(X)



规则与示例

输入 x

返回值 FLOOR(x)

说明

正小数

向下取整

FLOOR(3.14)-> 3

负小数

向负无穷方向取整

FLOOR(-3.14)-> -4

整数

它本身

FLOOR(5)-> 5

NULL

NULL

FLOOR(NULL)-> NULL


实际应用示例

假设我们有一个 sales表,记录销售金额:

id

product_name

price

quantity

1

笔记本电脑

2999.99

2

2

鼠标

149.50

5

3

键盘

399.00

3

4

显示器

1799.75

1

1. 直接计算地板值

SELECT
    price,
FLOOR(price) AS floor_price
FROM sales;



查询结果:

price

floor_price

2999.99

2999

149.50

149

399.00

399

1799.75

1799

2. 计算整数数量

计算每种产品至少需要多少整箱包装(假设每箱装10个):

SELECT
    product_name,
    quantity,
FLOOR(quantity /10AS full_boxes
FROM sales;



3. 价格去零处理

将所有价格去掉小数部分:

UPDATE sales 
SET price =FLOOR(price);



4. 与 CEILING() 对比

SELECT
3.14AS number,
FLOOR(3.14AS floor,    -- 3
CEILING(3.14AS ceil;   -- 4

SELECT
-3.14AS number,
FLOOR(-3.14AS floor,   -- -4
CEILING(-3.14AS ceil;  -- -3




重要注意事项

  1. 1.

    返回值类型FLOOR()返回的值类型与输入参数的类型相同。

  • 如果 x是整数,返回整数

  • 如果 x是浮点数,返回浮点数(但值为整数)

  • 2.

    精度问题:对于浮点数,由于浮点运算的特性,可能会有精度问题。

    SELECTFLOOR(0.1+0.2); -- 返回 0,因为 0.1+0.2 可能等于 0.30000000000000004



  • 3.

    字符串转换:如果参数是字符串,MySQL 会尝试将其转换为数字。

    SELECTFLOOR('3.7'); -- 3
    SELECTFLOOR('abc'); -- 0 (转换失败视为0)



  • 4.

    与 ROUND() 的区别

    SELECT
    3.6AS number,
    FLOOR(3.6AS floor,   -- 3
       ROUND(3.6AS round;    -- 4



    • FLOOR()总是向下取整

    • ROUND()进行四舍五入

  • 5.

    与 TRUNCATE() 的区别

    SELECT
    -3.14AS number,
    FLOOR(-3.14AS floor,       -- -4
    TRUNCATE(-3.140AS trunc; -- -3



    • FLOOR()是数学上的向下取整

    • TRUNCATE()是直接截断小数部分

    应用场景总结

  1. 1.

    价格处理:去掉价格的小数部分

  2. 2.

    分页计算:计算总页数

  3. 3.

    年龄计算:计算整岁年龄

  4. 4.

    装箱计算:计算完整箱数

  5. 5.

    数据分组:将连续数据离散化

总结

  • 用途:向下取整,获取不大于原数的最大整数

  • 正数:向零方向取整

  • 负数:向负无穷方向取整(与 CEILING()相反)

  • 适用场景:价格调整、数量计算、需要确保"不超过"某个数量的场景

这个函数在处理需要截断小数部分或向下舍入的业务逻辑时非常有用。


优网科技,优秀企业首选的互联网供应服务商

优网科技秉承"专业团队、品质服务" 的经营理念,诚信务实的服务了近万家客户,成为众多世界500强、集团和上市公司的长期合作伙伴!

优网科技成立于2001年,擅长网站建设、网站与各类业务系统深度整合,致力于提供完善的企业互联网解决方案。优网科技提供PC端网站建设(品牌展示型、官方门户型、营销商务型、电子商务型、信息门户型、微信小程序定制开发、移动端应用(手机站APP开发)、微信定制开发(微信官网、微信商城、企业微信)等一系列互联网应用服务。


我要投稿

姓名

文章链接

提交即表示你已阅读并同意《个人信息保护声明》

专属顾问 专属顾问
扫码咨询您的优网专属顾问!
专属顾问
马上咨询
联系专属顾问
联系专属顾问
联系专属顾问
扫一扫马上咨询
扫一扫马上咨询

扫一扫马上咨询

和我们在线交谈!