MySQL-内置函数
1、字符函数
1.1 length:获取字节量,受到字符集影响
# 数据库字符集为utf8mb4
# 空字符串,返回结果0
mysql> select length('');
# 空格,返回结果1
mysql> select length(' ');
# 字符串'abc',每个英文字母占1个字节,返回结果3
mysql> select length('abc');
# 数字12,每个数字占1个字节,返回结果2
mysql> select length(12);
# 中文字符串'张三',每个中文字符占3个字节,返回结果6
mysql> select length('张三');
1.2 concat:拼接字符串
# 返回结果为'abc+123'
mysql> select concat('abc','+','123');
# 返回结果,例如root@localhost格式
mysql> select concat(user,'@',host) from mysql.user;
1.3 upper&lower:大小写字母转换
mysql> select upper('abc');
mysql> select lower('ABC');
1.4 substr截取字符串
# 从第三个字符开始,连续截取4个字符,返回结果是'cdef'
mysql> select substr('abcdefg',3,4);
# 从第六个字符开始,连续截取4个字符,返回结果是'神雕侠侣'
mysql> select substr('射雕英雄传神雕侠侣倚天屠龙记',6,4);
1.5 instr:返回子集首次出现的位置
# 返回结果2
mysql> select instr('abcd','bc');
# 返回结果3
mysql> select instr('射雕英雄传','英雄');
1.6 trim:去掉字符串左右两边指定的字符
# 默认去掉左右两边空白字符,返回结果是'射雕英雄传'
mysql> select trim(' 射雕英雄传 ');
# 去掉左右两边的字符'a',返回结果是' 射雕英雄传 '
mysql> select trim('a' from 'aaaaa 射雕英雄传 ');
# 去掉左右两边字符'ab',返回结果是'a 射雕英雄传 '
mysql> select trim('ab' from 'ababa 射雕英雄传 ');
1.7 lpad&rpad:左右填充字符
函数中指定总字符串大小小于当前长度,则截取当前字符串,满足指定的总字符长度
# 在字符串左侧补充字符'#',满足字符串总长度为4,返回结果是'#abc'
mysql> select lpad('abc',4,'#');
# 在字符串右侧补充字符'#',满足字符串总长度为4,返回结果是'abc#'
mysql> select rpad('abc',9,'#');
1.8 replace:替换字符串中指定的字符
# 替换字符串中的'-'为'+',返回结果为'abc+def+ghi'
mysql> select replace('abc-def-ghi','-','+');
2、数学函数
2.1 round:四舍五入
# 四舍五入,默认取整,返回结果是3
mysql> select round(3.1415);
# 四舍五入,保留3位小数,返回结果是3.142
mysql> select round(3.1415,3);
2.2 ceil:向上取整,取大于等于的数
# 向上取整,返回结果是4
mysql> select ceil(3.14);
# 返回结果是3
mysql> select ceil(3.00);
# 返回结果是-3
mysql> select ceil(-3.14);
2.3 floor:向下取整,取小于等于的数
# 向下取整。返回结果是9
mysql> select floor(9.99);
# 返回结果-10
mysql> select floor(-9.99);
2.4 truncate:小数点保留截断
# 保留3位小数,返回结果是3.141
mysql> select truncate(3.1415,3);
2.5 mod:取模,被除数为正数,结果为正数;被除数为负数,结果为负数
# 返回结果为1
select MOD(10,3)
# 返回结果为1
select MOD(10,-3)
# 返回结果为-1
select MOD(-10,3)
# 返回结果为-1
select MOD(-10,-3)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY