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)
posted @   原来是你~~~  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示