• MYSQL函数


    目录

    一.函数的定义

    1.类似java定义方法

    2.可以带参数

    3.必须有返回值

    4.函数可以嵌套到sql语句中

    5.函数可嵌套调用  round(avg)

    二.常用函数

    1.日期函数

    2、字符串函数 

    3、数字函数 

    三,条件判断函数

     结果:

    四、聚合函数(SUM/COUNT/AVG/MAX/MIN)

    五、合并(union)


    一.函数的定义


    1.类似java定义方法

    2.可以带参数

    3.必须有返回值

    4.函数可以嵌套到sql语句中

     注:存储过程则不可以

    5.函数可嵌套调用  round(avg)

    二.常用函数

    1.日期函数

    1. 1) NOW():获取当前日期和时间
    2. select now();
    3. 2) DAY():获取日期中的天
    4. select day(NOW());
    5. 3) MONTH():获取日期中的月
    6. select month(now());
    7. 4) YEAR():获取日期中的年
    8. select year(now())
    9. 5) 日期转换函数DATE_FORMAT()/STR_TO_DATE()
    10. select now(),DATE_FORMAT(now(),'%Y年%m月%d日')
    11. DATE_FORMAT():将日期转换成字符串
    12. STR_TO_DATE():将字符串转换成日期
    13. select STR_TO_DATE('2022-06-08','%Y-%m-%d')
    14. 查询各学生的年龄,只按年份来算
    15. select s.*,year(now()-year(s.sage)) from t_student s;
    16. 按照出生日期来算,当前月日 < 出生年月的月日则,年龄减一
    17. select s.*,year(now())-year(s.sage)+if(month(now())<month(s.sage),-1,0) from t_student s;
    18. 查询本月过生日的学生
    19. select * from t_student where month(now())=month(sage);
    20. 查询下月过生日的学生
    21. select * from t_student where month(now())+1=month(sage);
    22. date_add(NOW(), interval 1 MONTH)
    23. select * from t_student where DATE_ADD(now(),INTERVAL 1 month)=month(sage);
    24. select DATE_ADD(now(),INTERVAL 1 month);

    运行结果:

    2、字符串函数 

     

    1. 1) UPPER()/LOWER():大小写互转
    2. select upper(' my name is zhuxingwen ');
    3. select lower(' HAO NAN REN WENWEN ');
    4. 2) REPLACE():搜索并替换字符串中的子字符串
    5. select uuid(),REPLACE(uuid(),'-',' ');
    6. 3) SUBSTRING():从具有特定长度的位置开始的最一个子字符串
    7. select SUBSTRING('zhang san is a person',1,5);
    8. select SUBSTRING('zhang san is a person',5);
    9. 4) TRIM():去除前后空格
    10. 5) LENGTH():获取字符串长度
    11. select length(' zhang san is a person '),length(trim('zhang san is a person '))
    12. 6) CONCAT():合并字符串函数,返回结果为连接参数产生的字符串,参数可以是一个或多个

    3、数字函数 

    1. 1)FLOOR:向下取整
    2. 2)CEIL: 向上取整
    3. 3)ROUND:四舍五入
    4. select FLOOR(-3.14),FLOOR(3.14),CEIL(-3.14),CEIL(-3.14);

     

     

    三,条件判断函数

    1. 1)IF(expr,v1,v2)
    2. 如果expr是TRUE则返回v1,否则返回v2
    3. 2)IFNULL(v1,v2)
    4. 如果v1不为NULL,则返回v1,否则返回v2
    5. 3CASE expr WHEN v1 THEN r1 [WHEN v2 THEN v2] [ELSE rn] END
    6. 如果expr等于某个vn,则返回对应位置THEN后面的结果,如果与所有值都不想等,则返回ELSE后面的rn
    7. 行列转换
    8. 需求:每一个学生的语数外分数
    9. SELECT
    10. s.*,
    11. sum(if(sc.cid='01',sc.score,0)) 语文,
    12. sum(if(sc.cid='02',sc.score,0)) 数学,
    13. sum(if(sc.cid='03',sc.score,0)) 英语
    14. from
    15. t_student s left join t_score sc on s.sid=sc.sid
    16. GROUP BY s.sid,s.sname;
    17. SELECT
    18. s.sid,s.sname,
    19. sum(case when sc.cid='01' then sc.score end) 语文,
    20. sum(case when sc.cid='02' then sc.score end) 数学,
    21. sum(case when sc.cid='03' then sc.score end) 英语
    22. from
    23. t_student s left join t_score sc on s.sid=sc.sid
    24. GROUP BY s.sid,s.sname;

     结果:

    四、聚合函数(SUM/COUNT/AVG/MAX/MIN)


    SUM():求和。常与GROUP BY一起使用,也可单独使用
    AVG():求平均值。常与GROUP BY一起使用,也可单独使用
    MAX():求最大值。常与GROUP BY一起使用,也可单独使用
    MIN():求最小值。常与GROUP BY一起使用,也可单独使用
    COUNT():统计记录的条数。常与GROUP BY一起使用,也可单独使用


    五、合并(union)

    select 1,'zs',18
    union
    select 2,'ls',22
    union
    select 2,'ls',22

    今天的分享就到啦~我们下期再见~ 

  • 相关阅读:
    GAMP源码阅读(上)主要类型、后处理流程、RINEX文件读取、卫星位置钟差计算
    ES6基础2
    js高级知识点
    Vue学习:计算属性
    【大数据实训】用Hbase模拟电影搜索引擎(四)
    语言模型编码中/英文句子格式详解
    EXCEL常用快捷键
    重学Kotlin(五) 泛型 类型别名 委托
    多目标跟踪框架boxmot介绍
    ISO认证好处,ISO9001认证办理流程
  • 原文地址:https://blog.csdn.net/weixin_63544775/article/details/125616118