MYSQL——运算符和函数

  • 数值运算符

    这里写图片描述

CEIL() 进一取整/向上取整
SELECT CEIL(3.14); (结果:4)

DIV() 整数除法
SELECT 3 DIV 5; (结果:0)

FLOOR() 舍一取整
SELECT FLOOR(3.74); (结果:3)

MOD 取余数(取模,和写成%等价)
SELECT 5 MOD 3; 或者 SELECT 5%3; (结果:2)

POWER() 幂运算
SELECT POWER(3,4); (结果:81)

ROUND() 四舍五入
SELECT ROUND (3.142,0);(结果:3)

TRUNCATE() 数字截取
SELECT TRUNCATE(111.233,0);(结果:111)
SELECT TRUNCATE(111.233,-1);(结果:110)

  • 比较运算符
    这里写图片描述

  • 日期时间函数

这里写图片描述

NOW() 当前时间 含日期时间
CURDATE() 当前日期 只有日期
CURTIME() 当前时间 值有时间
DATE_ADD() 时间增加或减少

在原有给定的时间上增加365天
SELECT DATE_ADD(‘2017-11-24’,INTERVAL 365 DAY);
结果:2015-11-24
INTERVAL 365 DAY:表示加365天
INTERVAL 一个量,表示变化,增加可以增加负值 单位 YEAR ,MONTH,WEEK,DAY

SELECT DATEDIFF(‘2017-11-24’,’2018-11-24’);
结果: -365 时间差值计算 单位为日 前面时间减去后面时间

SELECT DATE_FORMAT(‘2017-11-24’,’%m/%d/%Y’);
结果: 11/24/2017 日期格式转换

  • 信息函数

这里写图片描述

  • 聚合函数

这里写图片描述

EG:

这里写图片描述

AVG() - 平均值
对sno进行分组查平均分保留2位小数
这里写图片描述

COUNT() - 计数
MAX() - 最大值
MIN() - 最小值
SUM() - 求和
这里写图片描述

查询sno中的最大平均值
(分析:我现在的思路即是让查出来的集降序然后只保留第一行,mysql不支持top,可以用limit。 如果你们谁有更好的方法欢迎指导。)
这里写图片描述

注:GROUP BY 和HAVING

  1. GROUP BY 是分组查询, 一般 GROUP BY 都是和聚合函数配合使用的,而且GROUP BY 有一个原则,就是 SELECT 后面的所有列中,没有使用聚合函数的列,必须出现在 GROUP BY 后面(重要)
  2. WHERE作用是在对查询结果进行分组前,将不符合WHERE条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,当有聚合条件时就要用HAVING而不能用WHERE,另外HAVING必须和GROUP BY联用,没有GROUP BY就不能用HAVING。
  3. HAVING作用是筛选满足条件之后的组,即在分组之后再进行数据过滤,条件中经常包含聚组函数,使用HVING 条件显示特定的组,也可以使用多个分组标准进行分组

    • 加密函数

这里写图片描述

MD5() 会变成一个32位的数字
比如:
这里写图片描述

而PASSWORD()通常是进行密码的计算,修改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值