当前位置: 首页 > news >正文

SQL 数值函数速查:ROUND、CEIL、FLOOR、MOD 怎么用?

在 SQL 查询和面试中,数值函数是非常高频的考点。无论是处理金额精度,还是做分页运算,都绕不开 ROUND、CEIL、FLOOR、MOD 这几个函数。

本篇文章帮你快速速查核心用法,并配合示例代码加深记忆。

一、ROUND:四舍五入

ROUND 用于对数字进行四舍五入。

语法:

ROUND(number, decimals)

● number:要处理的数字。

● decimals:保留的小数位数,可选,默认为 0。

示例:

SELECT ROUND(123.456, 2) AS result;

输出:

123.46

如果省略 decimals:

SELECT ROUND(123.456) AS result;

输出:

123

二、CEIL:向上取整

CEIL(或 CEILING)会返回大于或等于给定数值的最小整数。

示例:

SELECT CEIL(10.2) AS result;

输出:

11

SELECT CEIL(-10.2) AS result;

输出:

-10

应用场景:分页时计算总页数。

-- 每页 10 条数据,查询 95 条记录需要几页?

SELECT CEIL(95 / 10) AS pages;

输出:

10

三、FLOOR:向下取整

FLOOR 会返回小于或等于给定数值的最大整数。

示例:

SELECT FLOOR(10.9) AS result;

输出:

10

SELECT FLOOR(-10.9) AS result;

输出:

-11

四、MOD:取余数

MOD 用于求余数,常用于循环和分组计算。

语法:

MOD(dividend, divisor)

● dividend:被除数。

● divisor:除数。

示例:

SELECT MOD(10, 3) AS result;

输出:

1

SELECT MOD(-10, 3) AS result;

输出:

-1

应用场景:按奇偶分组

SELECT id, name,

   CASE WHEN MOD(id, 2) = 0 THEN 'even'

        ELSE 'odd'

   END AS group_flag

FROM users;

五、面试常见考点

1. ROUND vs TRUNCATE

ROUND 会四舍五入。

TRUNCATE 直接截断,不做四舍五入。

2. CEIL vs FLOOR 的区别

CEIL(10.1) = 11,FLOOR(10.9) = 10。

注意负数时:CEIL(-10.2) = -10,FLOOR(-10.2) = -11。

3. MOD 的符号问题

MySQL 的 MOD(-10, 3) = -1。

不同数据库实现可能略有区别,面试时要提到这点。

六、总结

ROUND:四舍五入,常用于金额精度控制。

CEIL:向上取整,适合做分页计算。

FLOOR:向下取整,取整时很常用。

MOD:取余数,适合做循环分组或奇偶计算。

掌握这几个函数,不仅能让你在 SQL 面试中轻松应对,还能在日常开发中写出更高效的查询逻辑。


文章转载自:

http://mZmh9KZQ.cLkjn.cn
http://EjeYiXsK.cLkjn.cn
http://FWmBjo0m.cLkjn.cn
http://AT6ly5jO.cLkjn.cn
http://tslWAuWa.cLkjn.cn
http://N9JkwxdJ.cLkjn.cn
http://YluP1mVQ.cLkjn.cn
http://QMk0FvS6.cLkjn.cn
http://FRYFd6jk.cLkjn.cn
http://01zyc6Um.cLkjn.cn
http://HN04Xb9U.cLkjn.cn
http://ehwhZkNI.cLkjn.cn
http://C6IrrCnY.cLkjn.cn
http://wU5f6TRg.cLkjn.cn
http://cSKL4T9c.cLkjn.cn
http://Rg2jNC7t.cLkjn.cn
http://FpAa8SVc.cLkjn.cn
http://SJTHb0QZ.cLkjn.cn
http://nIzuu808.cLkjn.cn
http://gbr4tmGP.cLkjn.cn
http://Fu5ehVfT.cLkjn.cn
http://VOwLScHB.cLkjn.cn
http://k3pqdluK.cLkjn.cn
http://mJLhPoCm.cLkjn.cn
http://Ixbr0Rcu.cLkjn.cn
http://6cgsIp35.cLkjn.cn
http://6mQ3n6DU.cLkjn.cn
http://ifBhzs1d.cLkjn.cn
http://ap8OccU9.cLkjn.cn
http://SIAnvntO.cLkjn.cn
http://www.dtcms.com/a/387768.html

相关文章:

  • GPT-5-Codex 正式发布:迈向真正的“自主编程”时代
  • 直播美颜灯MCU控制方案开发设计分享
  • 数据结构(C语言篇):(十六)插入排序
  • 点亮第一个LED灯
  • Python环境》开发环境搭建
  • 【猛犸AI科技】无人机UAV边缘计算MEC实验
  • 【Datawhale25年9月组队学习:llm-preview+Task1:大模型介绍与环境配置】
  • 【MySQL】体系结构
  • Gated Attention 论文阅读
  • Git 命令行教程:配置 SSH 密钥高效克隆与管理项目
  • 机器学习和数据科学的开源 Python 库-Streamlit
  • Roo Code 的Enhance Prompt「增强提示」功能详解
  • 检测IP是否正常的方法
  • JMeter线程组
  • Flink基于Paimon的实时湖仓解决方案的演进
  • 29、生成模型入门-从数据重构到智能创造
  • Dokcer的安装(ubuntu-20.04.6):
  • 梳理Axios请求的过程和 Vite 代理配置
  • 元宇宙与电竞产业:沉浸式交互重构电竞全链条生态
  • 【pycharm】index-tts2:之二 :ubuntu24.04重建UV虚拟环境
  • 点评项目(Redis中间件)数据操作相关知识总结
  • 从0死磕全栈第九天:Trae AI IDE一把梭,使用react-query快速打通前后端接口调试
  • 【论文阅读】MIDAS: 多模态交互式数字人合成,通过实时自回归视频生成
  • 为什么React Native 中点到了却不动
  • 学习React-13-useLayoutEffect
  • Redis-更新策略
  • 7、二叉树-四种遍历方式
  • 双指针:逛画展
  • 数字孪生能源大数据云平台建设方案
  • WPSOffice引用的组件