首页 > 数据库 >MySQL必备常用内置函数:一文吃透

MySQL必备常用内置函数:一文吃透

来源:互联网 2026-07-09 12:36:13

MySQL常用内置函数分日期(now、date_add)、字符串(concat、replace、substring)、数学(ceiling、floor)及其他(user、md5、ifnull)类别,分别用于时间操作、文本处理、数值取整及用户、加密、空值判断等场景。

上一篇文章里,我们花了不少篇幅把MySQL的基本查询操作讲得比较透,内容确实有点多。今天这篇就相对轻松一些——主要聊聊MySQL里那些常用的内置函数,看看它们各自能干什么、怎么用。话不多说,直接进入正题。

一.日期函数

MySQL必备常用内置函数:一文吃透

长期稳定更新的攒劲资源: >>>点此立即查看<<<

上面这张图汇总了常见的日期函数,从描述里基本能猜到各自的作用。下面直接上例子,实操一下这些函数到底怎么玩。

1.1 创建一张表,记录生日

MySQL必备常用内置函数:一文吃透

MySQL必备常用内置函数:一文吃透

建一张表来记录生日,插入数据时就可以直接用那些日期函数来获取对应的值。上面我们用了前三个函数来获取当前时间,不过因为 birthday 字段的类型是 date,所以取到的只有日期部分,时间部分被截掉了。从结果里也能清楚看到日期的格式,具体时间也是同样的套路。

1.2 创建一个留言表

MySQL必备常用内置函数:一文吃透

MySQL必备常用内置函数:一文吃透

MySQL必备常用内置函数:一文吃透

在这个例子里,可以用 now()current_timestamp 来记录留言时的具体时间,两者都能拿到当前的时间戳。当然,这个例子还能玩出点花样:

1.2.1 显示所有留言信息,发布日期只显示日期,不显示时间

这就要用到上面的 date() 函数了:

MySQL必备常用内置函数:一文吃透

通过 date() 把日期部分单独取出来,时间部分就不显示了。

1.2.2 查询在2分钟内发布的帖子

先理清逻辑:两分钟之内发布,意味着 sendtime + 2分钟 > 当前时间,或者 当前时间 - 2分钟 < sendtime。下面实操一下:

MySQL必备常用内置函数:一文吃透

先插入一条新数据,然后用 where 条件筛选,条件里用 date_adddate_sub 来做时间加减,单位是分钟,所以后面跟着 minute。从结果看,只有刚插入的那条数据满足条件,符合预期。

二.字符串函数

MySQL必备常用内置函数:一文吃透

上面这些是MySQL里常见的字符串函数,有些和C/C++里学过的函数名字一样,功能也相似。直接看几个例子:

2.1 获取emp表的ename列的字符集

MySQL必备常用内置函数:一文吃透

charset() 函数就能查到对应字段的字符集,默认是utf8,查出来也就是utf8。

2.2 显示exam_result表中的信息,格式为“xxx的语文是xx分,数学xx分,英语xx分”

MySQL必备常用内置函数:一文吃透

这个用 concat() 函数拼接字符串就行,把各科成绩按格式串起来。整体不难,不啰嗦了。

2.3 求学生表中学生姓名占用的字节数

MySQL必备常用内置函数:一文吃透

length() 来计算每个名字占用的字节数。之前提过,utf8字符集下,一个汉字占3个字节,所以三个字的名字占9个字节,两个字占6个字节。如果是字母或数字,只占1个字节。

2.4 将EMP表中所有名字里的“S”替换成“上海”

MySQL必备常用内置函数:一文吃透

replace() 函数,第二个参数是被替换的字符,第三个是替换成的内容。从结果看,每个名字里的“S”都被换成了“上海”。

MySQL必备常用内置函数:一文吃透

注意,这只是查询时的显示效果,并没有真正修改表中的数据,ename 字段还是原来的样子。

2.5 截取EMP表中ename字段的第二个到第三个字符

MySQL必备常用内置函数:一文吃透

这里用 substring() 函数。为了对比更清晰,把完整的 ename 也打印出来。可以看到截取结果正确。下标从1开始(不是0),所以第二个字符对应的是2。

2.6 以首字母小写的方式显示所有员工的姓名

MySQL必备常用内置函数:一文吃透

这个稍微复杂一点,不能直接用 lcase() 只改变首字母而不动其他字母。做法是:把首字母和剩余部分拆开,单独处理首字母,再用 concat() 拼回去。

三.数学函数

MySQL必备常用内置函数:一文吃透

数学函数大部分在C/C++里都见过,这里只重点提一下 ceiling()floor()——向上取整和向下取整。

3.1 ceiling函数

向上取整,就是取比当前值大的整数。来看例子:

MySQL必备常用内置函数:一文吃透

如果值是3.1或3.9,向上取整后就是4;如果是负数,比如-3.1、-3.9,向上取整后就是-3。无论正负,结果都比原值大。

MySQL必备常用内置函数:一文吃透

上面的查询结果完全验证了这一点。

3.2 floor函数

向下取整正好相反,取比当前值小的整数:

MySQL必备常用内置函数:一文吃透

3.1或3.9向下取整后是3;-3.1、-3.9向下取整后是-4。结果都比原值小。

MySQL必备常用内置函数:一文吃透

同样用例子验证一下,结果没毛病。

四.其他函数

最后再简单介绍几个函数:

MySQL必备常用内置函数:一文吃透

第一个是 user(),查询当前用户。

MySQL必备常用内置函数:一文吃透

第二个是 md5(),对字符串做MD5摘要,得到一个32位的字符串。

MySQL必备常用内置函数:一文吃透

第三个是 ifnull(),如果第一个参数为 null,就返回第二个参数,否则返回第一个参数。

以上就是一文吃透MySQL必备的常用内置函数的全部内容。

侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述

热游推荐

更多
湘ICP备2026025700号-3 湘公网安备 43070302000280号
All Rights Reserved
本站为非盈利网站,不接受任何广告。本站所有软件,都由网友
上传,如有侵犯你的版权,请发邮件给xiayx666@163.com
抵制不良色情、反动、暴力游戏。注意自我保护,谨防受骗上当。
适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。