0
点赞
收藏
分享

微信扫一扫

mysql之常用函数、聚合函数以及合并

飞进科技 2022-04-19 阅读 71
java

函数

MySQL函数是 MySQL 数据库提供的内部函数,这些内部函数可以帮助用户更加方便地处理表中的数据。函数就像预定的公式一样存放在数据库里,每个用户都可以调用已经存在的函数来完成某些功能。

  1. 类似Java定义方法

  2. 可以带参数

  3. 必须有返回值(一行一列) ,重点:java方法可以没有返回值,数据库函数必须要有返回值 select max(score) from sc;

  4. 函数可以嵌套到sql语句中 注:存储过程则不可以

  5. 函数可嵌套调用

常用函数

日期函数

函数名称作 用
NOW 和 SYSDATE两个函数作用相同,返回当前系统的日期和时间值
MONTH获取指定日期中的月份
DAYOFMONTH获取指定日期是一个月中是第几天,返回值范围是1~31
YEAR获取年份,返回值范围是 1970〜2069
DATEDIFF获取两个日期之间间隔,返回参数 1 减去参数 2 的值
DATE_FORMAT格式化指定的日期,根据参数返回指定格式的值
DATE_ADD 和 ADDDATE两个函数功能相同,都是向日期添加指定的时间间隔
WEEKDAY获取指定日期在一周内的对应的工作日索引
QUARTER获取季度
WEEK获取指定日期
WEEKOFYEAR获取提定日期在一年中处第几个星期

DATE_FORMAT():将日期转换成字符串 STR_TO_DATE():将字符串转换成日期

date_add(NOW(), interval 1 MONTH)

提问:

  1. 查询各学生的年龄,只按年份来算

  2. 按照出生日期来算,当前月日 < 出生年月的月日则,年龄减一

  3. 查询本周过生日的学生

  4. 查询下周过生日的学生

  5. 查询本月过生日的学生

  6. 查询下月过生日的学生

字符串函数

函数名称作 用
LENGTH计算字符串长度函数,返回字符串的字节长度
LOWER将字符串中的字母转换为小写
UPPER将字符串中的字母转换为大写
LEFT从左侧字截取符串,返回字符串左边的若干个字符
RIGHT从右侧字截取符串,返回字符串右边的若干个字符
TRIM删除字符串左右两侧的空格
REPLACE字符串替换函数,返回替换后的新字符串
SUBSTRING截取字符串,返回从指定位置开始的指定长度的字符换
CONCAT字符串连接
...

数值型函数

函数名称作 用
ABS求绝对值
SQRT求二次方根
MOD求余数
CEIL 和 CEILING两个函数功能相同,都是返回不小于参数的最小整数,即向上取整
FLOOR向下取整,返回值转化为一个BIGINT
RAND生成一个0~1之间的随机数,传入整数参数是,用来产生重复序列
ROUND对所传参数进行四舍五入
...

聚合函数

函数名称作用
MAX查询指定列的最大值
MIN查询指定列的最小值
COUNT统计查询结果的行数
SUM求和,返回指定列的总和
AVG求平均值,返回指定列数据的平均值

流程控制函数

函数名称作用
IF判断,流程控制
IFNULL判断是否为空
CASE搜索语句
  1. IF语法结构如下:

    IF(expr,v1,v2)

示例:

SELECT sid,sname,IF(address is NULL,'未知',address) '地址'  FROM t_student ;
  1. IFNULL函数的语法:

IFNULL(v1,v2);
​
其中:如果 v1 不为 NULL,则 IFNULL 函数返回 v1; 否则返回 v2 的结果。

示例:

SELECT sid,sname,IFNULL(address,'未知') '地址'  FROM t_student ;
  1. CASE

简单的 CASE 语句的语法:

CASE  <表达式>
   WHEN <值1> THEN <操作>
   WHEN <值2> THEN <操作>
   ...
   ELSE <操作>
END CASE;

示例:

 SELECT CASE WEEKDAY(NOW()) 
 WHEN 0 THEN '星期一' 
 WHEN 1 THEN '星期二' 
 WHEN 2 THEN '星期三' 
 WHEN 3 THEN '星期四' 
 WHEN 4 THEN '星期五' 
 WHEN 5 THEN '星期六'
 ELSE '星期天' END AS COLUMN1,NOW(),WEEKDAY(NOW()),DAYNAME(NOW());

提问:如何显示成绩等级?

union

mysql union 用于把来自多个select 语句的结果组合到一个结果集合中。语法为:

select  column,......from table1
union [all]
select  column,...... from table2

参考

mysql官网:MySQL :: MySQL 5.7 Reference Manual

作业

  1. 总结本节内容

  2. 完成本节内容

举报

相关推荐

0 条评论