mysql常用函数
想看mysql中全部函数可往官网查看 https://dev.mysql.com/doc/refman/8.0/en/sql-function-reference.html
- abs(值):计算绝对值
select abs(-55) as 结果
- ceiling(值):计算小数向上取整
select ceiling(9.4) as 结果
- floor(值):计算小数向下取整
select floor(9.4) as 结果
- rand():返回一个0~1的随机数
select rand() as 结果
- sign(值) 判断一个数的符号----0返回0—负数返回-1—正数返回1
select sign(0) as 结果
select sign(5) as 结果
select sign(-6) as 结果
- char_length(‘值’):返回字符串长度
select char_length('即使再小的帆也能远航') as 结果
- concat(‘值1’,‘值2’,…):拼接成字符串
select concat('你好呀','吃饭','了吗?') as 结果
- insert(str,pos,len,newstr):从某个位置开始,插入某个长度字符串
select insert('今天出太阳了',1,2,'后天可能') as 结果
扫描二维码关注公众号,回复:
12454451 查看本文章

- lower(‘字符串’):将字符串字母都转成小写字母
select lower('CHENHUI') as 结果
- upper(‘字符串’):将字符串字母都转成大写字母
select upper('chenhui') as 结果
- instr(‘字符串’,‘子串’)返回第一次出现的子串的索引
select instr('chenhui','e') as 结果
- replace(str,from_str,to_str):替换出现的指定字符串
select replace('努力就能获得成功','努力','坚持') as 结果
- substr(str , pos , len):返回指定的子字符串
select substr('努力就能获得成功',5,8) as 结果
- reverse(str):反转字符串中的字符
select reverse('努力就能获得成功') as 结果
小案例:查询姓赵的同学,名字改成昭
select replace(studentname,'赵','昭') as 修改后名字 from student where studentname like '赵%'
- current_date():获取当前日期
- current_time():获取当前时分秒时间
- now():获取当前的时间
- localtime():获取本地时间
- sysdate():获取当前系统时间
- year(2021-01-29 13:44:26):获取年份
- month(2021-01-29 13:44:26):获取月份
- day(2021-01-29 13:44:26):获取天数
- hour(2021-01-29 13:44:26):获取小时
- minute(2021-01-29 13:44:26):获取分钟
- second(2021-01-29 13:44:26):获取毫秒
- system_user()、user():获取系统用户
聚合函数
- count():计数
- sum():求和
- avg():求平均值
- max():求最大值
- min():求最小值
count(列名)、count(*)、count(1)区别:
- count(列名):统计结果时会忽略所有的null值
- count(*):统计结果时不会忽略所有的null值
- count(1):统计结果时不会忽略所有的null值
执行效率上: - 表名只有一个字段,则count(*)最优
- 如果有主键,则count(主键)的执行效果最优
- 如果表多个列而且没有主键,count(1)执行效率优于count(*)
select count(studentname) from student
select count(1) from student
select count(*) from student
select sum(studentresult) as 总分 from result
select avg(studentresult) as 平均分 from result
select min(studentresult) as 最低分 from result
select max(studentresult) as 最低分 from result