MySQL-常用函数

1.函数

1.1单行函数
》数学函数
    >>abs:绝对值
        >select abs(-16);#绝对值
    >>floor:向下取整
        >select floor(-12.5);#向下取整-13
    >>ceil:向上取整
        >select ceil(-12.3);#向上取整-12
    >>round:四舍五入
        >select round(12.46);#四舍五入12
        >select round(12.46,0);#12
        >select round(12.46,1);#12.5 小数点后一位四舍五入
        >select round(12.46,-1);#10 小数点前一位也四舍五入
》字符函数
    >>length:字符串长度
        >select length('this is an apple');
        >select length(ename) from emp;
    >>lower
        >select lower('THIS IS');
    >>upper
        >select upper('this is');
    >>substr:截取字符串长度,从1开始,截取2个
        >select substr('abcde',1,2);
    >> replace
        >select replace('abcd','ef','ggg');
    >>trim:去除两端空格    
        >select trim('    a   bc    ');#a   bc
    >>lpad:左填充
        >select lpad('abc',10,'*');#左填充
    >> rpad:右填充
        >select rpad('abc',10,'*');#右填充
》日期函数
    >>sysdate():获取系统时间
    select sysdate();
    >>now():当前时间精确到秒
        select now();
    >>current_date();
        select current_date();
    >>current_time();
    >>current_timestamp();
    >>year('1998-05-18'):获取时间的年份
    >>month(now()):获取时间的月份
    >>day(now()):获取时间的份日期
    >>日期的计算
        》select last_day('2019-6-8'):获取指定时间该月的最后一天
        》date_add('2019-7-18',interval 3 day);指定时间的三天后
1.2聚合函数
    》select max(sal) from emp where deptno=30;#编号为30的部门工资最高的员工信息
    》select min(sal) from emp;#工资最低
    》select avg(sal) from emp;#薪资平均值
    》select count(*) from emp;#统计记录数
    》select sum(sal) from emp;#薪资求和
1.3分组函数
    对薪资求平均值
    select avg(sal) from emp group by job;#根据职位进行平均值计算
    select job,avg(sal) from emp group by job;#select子句中只能出现分组字段和聚合函数

    平均工资大于2000的部门编号及其平均工资
    select deptno,avg(sal) from emp group by deptno where avg(sal)>2000;#报错
    原因:
    1.where子句在分组语句group by之前
    2.where子句中不能使用聚合函数
    
    having:分完组之后再次实现检索
    select detpno,avg(sal) from emp group by deptno having avg(sal)>2000;
1.4加密函数
select MD5('root');#不可逆
select sha('root');
select password('root');
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Carl·杰尼龟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值