MySQL里那些函数怎么用,大概说说它们的作用和特点
- 问答
- 2026-01-14 06:32:59
- 3
MySQL 里面有很多函数,就像是给你准备好的工具,让你处理数据的时候更方便,不用自己从头写复杂的逻辑,这些函数大概可以分为几类,比如处理字符串的、处理数字的、处理日期的、还有进行逻辑判断的等等,下面我就大概说说一些常用的函数是干什么的,有什么特点。
处理字符串的函数
这类函数专门对付文本信息,比如人名、地址、描述文字等等。
- CONCAT:这个函数的作用就是把几个字符串拼接到一起,数据库里姓和名是分开的两个字段,你想得到完整的姓名,就可以用
CONCAT(姓, 名),它的特点就是简单直接,想拼几个就写几个参数。(来源:MySQL 官方文档关于字符串函数的章节) - SUBSTRING:这个函数用来从一段文字里截取一部分,你需要告诉它从哪个字符串截取,从第几个字符开始,以及截取多长,你想从“20231025”这个字符串里取出“10”表示月份,就可以用
SUBSTRING(“20231025”, 5, 2),意思是从第5个字符开始,截取2个字符,这个在处理一些有固定格式的文本时特别有用。(来源:MySQL 官方文档关于字符串函数的章节) - LENGTH:这个函数很简单,就是计算一个字符串有多少个字符,你想检查用户输入的密码长度是否达到要求,就可以用
LENGTH(密码)来看看,注意,一个汉字也算一个字符。(来源:MySQL 官方文档关于字符串函数的章节) - REPLACE:顾名思义,就是替换,它能把字符串里出现的所有指定内容换成别的内容,有一篇文章,里面有个词写错了,你想把所有这个词都改正过来,用
REPLACE(文章内容, ‘错词’, ‘正确词’)就能一次性搞定,比手动查找替换快多了。(来源:MySQL 官方文档关于字符串函数的章节) - UPPER 和 LOWER:这两个函数是改变字母大小写的。
UPPER把字符串里所有字母变成大写,LOWER则变成小写,这在做比较或者统一格式的时候常用,比如比较邮箱地址,通常就不区分大小写,可以先把两边都用LOWER转成小写再比。(来源:MySQL 官方文档关于字符串函数的章节)
处理数值的函数

这类函数专门和数字打交道,进行各种计算。
- ROUND:四舍五入,比如商品价格是123.456元,你想只显示两位小数,用
ROUND(123.456, 2)就能得到123.46,你可以指定保留几位小数。(来源:MySQL 官方文档关于数学函数的章节) - CEIL 和 FLOOR:
CEIL是向上取整,不管小数部分是多少,都往大了取到最近的整数。CEIL(3.14)得到4。FLOOR是向下取整,往小了取,FLOOR(3.14)得到3,这在分页计算总页数的时候可能会用到。(来源:MySQL 官方文档关于数学函数的章节) - ABS:取绝对值,就是把负数变成正数,正数不变,比如计算温差,不管是升了5度还是降了5度,变化的绝对值都是5。(来源:MySQL 官方文档关于数学函数的章节)
- RAND:生成一个0到1之间的随机小数,这个函数挺有趣的,可以用它来随机排序记录,
SELECT * FROM 表 ORDER BY RAND()就能每次随机打乱顺序取出数据。(来源:MySQL 官方文档关于数学函数的章节)
处理日期和时间的函数
这类函数帮你处理一切跟时间有关的数据。

- NOW:这个函数非常常用,它返回当前的日期和时间,用户下订单的时候,自动记录下单时间,就可以用
NOW()来获取这个时刻。(来源:MySQL 官方文档关于日期和时间函数的章节) - CURDATE 和 CURTIME:
CURDATE只返回当前的日期部分(年-月-日),CURTIME只返回当前的时间部分(时:分:秒),如果你只需要日期或时间中的一个,用它们更精确。(来源:MySQL 官方文档关于日期和时间函数的章节) - DATE_FORMAT:这个函数功能强大,可以让你把日期时间按照自己喜欢的格式显示,比如数据库里存的日期是“2023-10-25”,你想显示成“2023年10月25日”这样的中文格式,就可以用这个函数来格式化,你需要告诉它一个格式字符串,
DATE_FORMAT(NOW(), ‘%Y年%m月%d日’)。(来源:MySQL 官方文档关于日期和时间函数的章节) - DATEDIFF:计算两个日期之间相差多少天,比如计算某个商品已经上架了多少天,或者距离某个活动截止还有几天。(来源:MySQL 官方文档关于日期和时间函数的章节)
条件判断函数
这类函数让你在SQL语句里也能进行“....”这样的逻辑判断。
- IF:最简单的条件判断,它需要三个参数:一个判断条件,如果条件为真返回的值,如果条件为假返回的值。
IF(成绩 >= 60, ‘及格’, ‘不及格’),就能根据分数直接给出及格与否的判断。(来源:MySQL 官方文档关于控制流函数的章节) - CASE WHEN:这相当于一个更强大的、多条件的“IF”语句,当判断条件有多种情况时,用它更清晰,想对成绩进行分级:
CASE WHEN 成绩 >= 90 THEN ‘优秀’ WHEN 成绩 >= 80 THEN ‘良好’ ELSE ‘一般’ END,它可以有多个WHEN分支,最后以一个END结束。(来源:MySQL 官方文档关于控制流函数的章节)
总结一下特点:
这些函数最大的特点就是提高效率,很多复杂的操作一句函数调用就解决了,不用你写一堆代码,它们都是直接用在SQL语句里的,SELECT, WHERE, ORDER BY 这些子句后面都能用,大部分函数是跨平台的,虽然不同数据库(比如Oracle、SQL Server)的函数名可能略有差异,但核心思想都差不多,学一次能触类旁通,函数不能滥用,如果数据量特别大,复杂的函数可能会影响查询速度,这时候就需要权衡一下了。
本文由盈壮于2026-01-14发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://waw.haoid.cn/wenda/80396.html
